作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
在 MySQL 表中,我有一个名为“Tag”的字段,它可能包含多个以逗号分隔的值。
我想选择 Tag 字段包含值“1”的行。
我将如何编写我的 MySQL 语句以便选择标记值为“1”和“1,Cars”的行,但排除 Tag 值为“17”和“17,Cars”的行?
问题是我正在使用“LIKE”运算符,但这会导致所有这四行都被选中。
谢谢。
最佳答案
FIND_IN_SET 将搜索以逗号分隔的列表,例如:
SELECT FIND_IN_SET('b','a,b,c,d');
在这种情况下,类似
SELECT tag FROM table
WHERE FIND_IN_SET('1', tag) > 0
应该可以解决问题。
编辑:当没有找到匹配项时它实际上返回 0,因此 NULL 检查是错误的。
关于mysql - 如何在 MySQL 中选择这些特定的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3664812/
我是一名优秀的程序员,十分优秀!