MySql在逗号分隔集中查找值

时间:2014-01-30 06:03:16

标签: mysql sql select sql-like find-in-set

我在字段1,255,230,265中存储了这样的值。

MySQL中是否有一个函数可以为我提供该字符串中的第二个值?在这种情况下,它将是255

我尝试使用locate,但这似乎不适用于此。

4 个答案:

答案 0 :(得分:4)

试试这个

select  SUBSTRING_INDEX(SUBSTRING_INDEX(field_name,',',2),",",-1)  from table_name

答案 1 :(得分:1)

您可能想要使用SUBSTRING_INDEX()函数。

SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(field,',',2),',',-1)
FROM yourTable.

这会抓住第二个逗号前面的所有内容,然后在最后一个逗号后抓取所有内容(-1)

答案 2 :(得分:0)

试试这个

select * from Table1 where ',' + Nos+ ',' like '%,255,%'

参见:

MySQL query finding values in a comma separated string

mysql check if numbers are in a comma separated list

答案 3 :(得分:0)

使用 FIND_IN_SET() 功能:

SELECT * 
FROM tableA
WHERE FIND_IN_SET(255, columnName)

使用 LIKE 运算符

SELECT * 
FROM tableA
WHERE CONCAT(',', columnName, ',') LIKE '%,255,%'