我不是数据库管理员,但我经常需要查询数据库来完成我的工作。最近,我的任务是查询数据库列中以分号分隔的表达式的长度。显示为虚构的示例表和列可能会更容易:
- 表是
Table1
。 - 列是
Column1
。
中两行的值Table1.Column1
如下所示:
principal_name='Joe Schmoe'; marital_status='m'; shoe_size='12.5';
message='This is a message which is 45 characters long';
years_active='15'
principal_name='Jim Schmim'; marital_status='s'; shoe_size='10.5';
message='This is a xxxxxxxxxxx message which is 57 characters long';
years_active='6'
我需要查询Table1.Column1
并找出该列的消息部分中有多少行超过 50 个字符。
如果该列只有一个值,我可以使用类似的东西:
SELECT COUNT(*) FROM Table1 WHERE LEN(column1) > 40
但是,我不需要知道该字段总共有多少个字符,只需要知道message=
和之间有多少个;
我以前从来没有处理过一个有多个值用分号分隔的列,所以我不知道如何查询我需要知道的内容。