我不是數據庫管理員,但我經常需要查詢數據庫才能完成我的工作。最近我的任務是查詢數據庫列中分號分隔表達式的長度。它可能會更容易顯示爲一個製作的示例表格和列:如何在SQL Server 2008中找出列中表達式的長度
- 表是
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=
之間和;
我從來沒有處理過多個由分號分隔的值之前,所以我不知道如何查詢我需要知道的。
這就是爲什麼使用多值字段是一個壞主意 – Kira 2013-03-08 21:10:46
確實 - 參考「但我經常需要查詢數據庫來做我的工作。最近我的任務是......「:) – 2013-03-08 21:13:32