关于MySql的一个小疑问
各位大佬,下午好!
今天遇见一个关于MySql的业务场景需求如下:
表为:merchant
字段为:ownedCoupon(varchar)
数据内容为:,
10,11,12,13
11,12,13,10
11,12,10,13
11,12,13,100
我想通过SQL语句找出表数据内有10存在的数据进行输出
于是我想到了模糊查询:
SELECT * FROM merchant WHERE ownedCoupon LIKE '%10%';
但是这样会把100的也给打印出来。。。
代码上可以解决这个问题但是用.join()但是我想试试能不能用sql语句把这个问题给解决了...
各位大佬有什么办法可以解决吗?
急....拜托看到的大佬,指教指教..
回答
你这个字段内容是一整行吗?
11,12,13,10 可以做个变换
每个字段前后增加一个逗号:,11,12,13,10,
然后匹配 ,10,这个字符串就可以了
select * from merchant where contract(',',ownedCoupon,',') like '%,10,%'