这是一张数据表
ID TITLE DEPTID
1 通知一 一大队
2 通知二 一大队,二大队
3 通知三 三大队
4 通知四 二大队
5 通知五 五大队
这是我的SQL
select * from epare_safe_callboard t where t.deptcid in (A) --A是一个传入的变量值,
这里赋值为('一大队'、'二大队')
我的目标是取出
ID TITLE DEPTID
1 通知一 一大队
2 通知二 一大队,二大队
4 通知四 二大队
但是获得结果却是
ID TITLE DEPTID
1 通知一 一大队
4 通知四 二大队
这个SQL是哪里出错了呀?
------解决方案--------------------
where t.deptcid in (A) 是完全匹配;
select * from epare_safe_callboard t where t.deptcid like '%一大队%' or t.deptcid like '%二大队%';
应该可以了!
------解决方案--------------------
select * from epare_safe_callboard t where regexp_like (t.deptcid,'一大队|二大队');