1.正确的方式:
判断字段field_A
中是否包含23
:
select * from table_test where FIND_IN_SET("23", field_A) ;
2.错误的方式:
select * form table_test where field_A like "%23%"
3.案例分析:
field_A字段:
[5,123,223]
[230,232,233]
[5,23,1]
若想查询field_A字段中含有字符串23
的记录,而不包含123
,231
等记录的话,只能通过Mysql函数FIND_IN_SET("str","field")
来查询,否则会有干扰数据。
通过like "%23%"
会查询到3条记录。
通过like "23%"
会查询到后两条记录。
通过like "%23"
第一条和第三条记录,所以like
模糊查询的并不能满足需求。