1

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

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

我尝试使用locate,但这似乎不是为了这个。

4

4 回答 4

5

尝试这个

select  SUBSTRING_INDEX(SUBSTRING_INDEX(field_name,',',2),",",-1)  from table_name
于 2014-01-30T06:07:55.470 回答
1

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

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

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

于 2014-01-30T06:07:01.773 回答
0

使用FIND_IN_SET()函数:

SELECT * 
FROM tableA
WHERE FIND_IN_SET(255, columnName)

或者

使用LIKE运算符

SELECT * 
FROM tableA
WHERE CONCAT(',', columnName, ',') LIKE '%,255,%'
于 2014-01-30T06:59:11.597 回答
0

尝试这个

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

参考:

MySQL查询以逗号分隔的字符串查找值

mysql 检查数字是否在逗号分隔的列表中

于 2014-01-30T06:09:38.410 回答