我从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,'
答案 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?
是