求教 v 友:
对表 T 的字段 a 进行模糊查询,模糊值不少于 1000 个,除了用 or 拼接,有没有其他优雅的写法
     1 
                    
                    799635347      2020-01-14 19:13:12 +08:00 
                    
                    union 
                 | 
            
     2 
                    
                    a87965028      2020-01-14 23:03:28 +08:00 
                    
                    或许可以再建一张表维护这茫茫多个模糊值,然后与表 T join ? 
                 | 
            
     3 
                    
                    yjhatfdu2      2020-01-15 11:33:23 +08:00 
                    
                    应该可以 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 不支持  | 
            
     4 
                    
                    yjhatfdu2      2020-01-15 11:35:26 +08:00 
                    
                    当然如果是 pg 的话可以更简单这样写,select a from t where a like any(array['%a%','%b%','%e%']); sqlserver 就不知道了 
                 | 
            
     5 
                    
                    mmdsun      2020-01-16 09:05:52 +08:00 via Android 
                    
                    SQLServer 支持全文检索和分词。就别用 like 了吧 
                 |