SQL选择id在`column`中的位置

时间:2013-05-02 19:48:28

标签: sql csv

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

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

我想创建一个只有6(例如)列在numbers列中时才会选择行的查询。

我无法使用LIKE,因为如果有66它也可以使用。

2 个答案:

答案 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