请找到以下查询:
表名:B
查询:从{B}中选择*
ID comp
1 d,e,f
是否要使用SQL /灵活搜索查询检查值'f'是否在comp中?
是否可以针对这种情况编写sql查询?
更新:
SELECT DISTINCT {b:pk} FROM {A AS a left join B as B on {a:ncode} = {b:ncode} and {a:qCode} = {b:qCode}}
WHERE
{a:compID} IN ()
假设a:compID为“ f”
经过IN运算符才能达到我的要求的子查询应该是什么?
谢谢
答案 0 :(得分:1)
您可以在mysql中搜索字符串
//完整搜索:
选择*从类似'%f%'的地方
//以f
开头选择*从类似于'%f'的地方
//以f
结尾选择*从类似于“ f%”的位置
答案 1 :(得分:1)
SELECT * FROM {B} where {comp} LIKE '%,f,%'
答案 2 :(得分:0)
这将起作用:
SELECT FIND_IN_SET('f',(SELECT comp FROM t));
https://www.db-fiddle.com/f/si2o3QJWDT6FST1TR2LVXm/0
如果要检查是否存在,则:
SELECT case when FIND_IN_SET('f',(SELECT comp FROM t))=0 then'not present'
else 'present' end from dual;