我的列中有多个用逗号分隔的数字。行的示例:
`numbers`:
1,2,6,66,4,9
我想创建一个只有6
(例如)列在numbers
列中时才会选择行的查询。
我无法使用LIKE
,因为如果有66
它也可以使用。
答案 0 :(得分:6)
您可以使用like
。在列表的开头和结尾连接字段分隔符,然后使用like
。这是SQL Server sytnax:
where ','+numbers+',' like '%,'+'6'+',%'
SQL Server使用+
进行字符串连接。其他数据库使用||
或concat()
函数。
答案 1 :(得分:1)
您应该将数据库更改为具有将数字与当前表的行连接的新表。所以如果你的行看起来像这样:
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