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