SQL选择'列'中的id在哪里
问题描述:
我有一列有逗号分隔的多个数字。例如对于行: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()
函数。
+0
将逗号添加到原始字符串既有效又简洁。我喜欢。 – 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