我有一列有逗號分隔的多個數字。例如對於行:SQL選擇'列'中的id在哪裏
`numbers`:
1,2,6,66,4,9
我想打一個查詢,將選擇僅在數6
(例如)在列numbers
行。
我無法使用LIKE
,因爲如果有66
,我想只在存在號碼6
的情況下選擇該行,它也可以。
感謝,和對不起我的英語
我有一列有逗號分隔的多個數字。例如對於行:SQL選擇'列'中的id在哪裏
`numbers`:
1,2,6,66,4,9
我想打一個查詢,將選擇僅在數6
(例如)在列numbers
行。
我無法使用LIKE
,因爲如果有66
,我想只在存在號碼6
的情況下選擇該行,它也可以。
感謝,和對不起我的英語
您可以使用like
。在列表的開頭和末尾連接字段分隔符,然後使用like
。下面是在SQL Server sytnax:
where ','+numbers+',' like '%,'+'6'+',%'
SQL Server使用+
字符串連接。其他數據庫使用||
或concat()
函數。
將逗號添加到原始字符串既有效又簡潔。我喜歡。 – Maple 2013-05-02 20:20:51
你應該改變你的數據庫,而不是讓一個新的表與你當前表的行相連。所以,如果你的行看起來是這樣的:
id numbers
1 1,2,6,66,4,9
您將有加入像這樣
row_id number
1 1
1 2
1 6
1 66
1 4
1 9
這些值的新表然後,你可以搜索數列中的數字6,並獲得ROW_ID
您正在使用哪種RDMBS? – mwigdahl 2013-05-02 19:53:35