未分類 4 4 月 2020 SQL Server 单字段多值模糊查询 SQL Server 单字段多值模糊查询 資深大佬 : AmoxiDu 50 求教 v 友: 对表 T 的字段 a 进行模糊查询,模糊值不少于 1000 个,除了用 or 拼接,有没有其他优雅的写法 大佬有話說 (5) 資深大佬 : 799635347 union 資深大佬 : a87965028 或许可以再建一张表维护这茫茫多个模糊值,然后与表 T join ? 資深大佬 : yjhatfdu2 应该可以 select t.a,t2.p from t,(values(‘%a%’),(‘%b%’),(‘%c%’)) as t2(p) where t.a like t2.p; 中间 values 表达式可以任意多个,pg、sqlserver 支持类似写法,oracle 和 mysql 不支持 資深大佬 : yjhatfdu2 当然如果是 pg 的话可以更简单这样写,select a from t where a like any(array[‘%a%’,’%b%’,’%e%’]); sqlserver 就不知道了 資深大佬 : mmdsun SQLServer 支持全文检索和分词。就别用 like 了吧