也许答案很简单,但我找不到适合我的 MySQL 查询。
我有表用户:
| id_user | name | action_type |
+---------------------------------+
| 1 | joshua | 1,13,12,40 |
| 2 | joshua | 2,8 |
而且我只想选择在 action_type
列中具有确切数字的行。
action_type
以文本形式存储在 MySQL 中。
我已经试过了:
SELECT * FROM user WHERE action_type LIKE '%2%'
但它选择了 12 行,这不是我想要的 :(
也许可以使用 IN 运算符,但我找不到正确的使用方法。
最佳答案
您正在寻找 FIND_IN_SET
SELECT *
FROM user
WHERE FIND_IN_SET( '2', action_type )
更新
顺便提一下,这个也是可以的
SELECT *
FROM user
WHERE FIND_IN_SET( 2, action_type )
MySQL 会自动转换为 char
关于mysql - 选择列中包含确切数字的行,其中一组数字用逗号分隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13928538/