SQL选择id在`列中的位置`
我有一个列,它有多个用逗号分隔的数字。行的示例:SQL选择id在`列中的位置`,sql,csv,Sql,Csv,我有一个列,它有多个用逗号分隔的数字。行的示例: `numbers`: 1,2,6,66,4,9 我想进行一个查询,仅当数字6(例如)在列numbers中时,才会选择该行 我不能像那样使用,因为如果有66,它也会起作用。你可以像那样使用。在列表的开头和结尾连接字段分隔符,然后像使用一样使用。以下是SQL Server sytnax: where ','+numbers+',' like '%,'+'6'+',%' SQL Server使用+进行字符串连接。其他数据库使用|或concat()
`numbers`:
1,2,6,66,4,9
我想进行一个查询,仅当数字6
(例如)在列numbers
中时,才会选择该行
我不能像那样使用
,因为如果有66
,它也会起作用。你可以像
那样使用。在列表的开头和结尾连接字段分隔符,然后像使用
一样使用。以下是SQL Server sytnax:
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,并获取行id您使用的是哪种RDMB?开始时不应存储逗号分隔的值with@a_horse_with_no_name我知道。这是我为修正语法而编辑的一个老问题。我很可能需要规范化数据结构……在原始字符串中添加逗号既有效又简洁。我很喜欢。