mysql - Sql为选择创建正确的查询
问题描述
我有表格笔记。有列 'tags' (varchar(255) ) 。例如,数据是:
1)Content='Note1', tags='18,20'
2)Content='Note2', tags='18',
3)Content='Note3', tags='45',
4)Content='Note4', tags='118,75'
我需要编写 sql 来选择所有带有标签 '18' 的行,所以结果必须是这样的:
1)Content='Note1', tags='18,20'
2)Content='Note2', tags='18',
我试过写sql:
SELECT * FROM `notes` WHERE tags LIKE ('%18%')
但结果是错误的:
1)Content='Note1', tags='18,20'
2)Content='Note2', tags='18',
4)Content='Note4', tags='118,75'
我该如何解决?
解决方案
使用FIND_IN_SET
功能
SELECT * FROM `notes` WHERE FIND_IN_SET('18', tags );