3

我有一列有多个用逗号分隔的数字。一行示例:

`numbers`:
 1,2,6,66,4,9

我想进行一个查询,仅当数字6(例如)在列中时才会选择该行numbers

我不能使用LIKE,因为如果有66它也会起作用。

4

2 回答 2

7

您可以使用like. 连接列表开头和结尾的字段分隔符,然后使用like. 这是 SQL Server 语法:

where ','+numbers+',' like '%,'+'6'+',%'

SQL Server+用于字符串连接。其他数据库使用||concat()功能。

于 2013-05-02T19:52:21.863 回答
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

于 2013-05-02T19:53:01.640 回答