PHP + MySQL在select和LIKE之前添加逗号

时间:2016-08-28 08:01:44

标签: php mysql select

我从database中选择,但我想在选择

之前添加逗号值
  

表:

id      value
1       5,6
2       7,5,9,8
3       4,7,6

如果LIKE,6,返回ID 1和3

,我想要选择值
  

我的代码不起作用:

SELECT * FROM `,value,` LIKE ',6,'

1 个答案:

答案 0 :(得分:1)

尝试使用find_in_set

SELECT * FROM your_table WHERE FIND_IN_SET(6,`value`);

SELECT * FROM your_table WHERE CONCAT('%,',6,',%') LIKE CONCAT(',',`value`,',').

关于FIND_IN_SET的说明:

FIND_IN_SET()函数

MySQL FIND_IN_SET()返回字符串的位置,如果它在字符串列表中存在(作为子字符串)。字符串列表本身是一个字符串,包含以','(逗号)字符分隔的子字符串。

当字符串列表中不存在搜索字符串时,此函数返回0,如果任一参数为NULL,则返回NULL

语法:

FIND_IN_SET (search string, string list)

<强>参数

Name            Description
search string   A string which is to be looked for in following list of arguments.
string list     List of strings to be searched if they contain the search string.

警告:

必须阅读:

Is storing a delimited list in a database column really that bad?