大发龙虎稳赢 = way to explore
大发龙虎稳赢 是一个大发龙虎稳赢关于 分享和探索的地方
现在注册
已注册用户请  登录
GeekHub
AmoxiDu
大发龙虎稳赢  ›  程序员

SQL Server 单字段多值模糊查询

  •  
  •   AmoxiDu · 256 天前 via Android · 1297 次点击
    这是一个创建于 256 天前的主题,其中的信息可能已经有所发展或是发生改变。

    求教 v 友:

    对表 T 的字段 a 进行模糊查询,模糊值不少于 1000 个,除了用 or 拼接,有没有其他优雅的写法

    5 条回复    2020-01-16 09:05:52 +08:00
    799635347
        1
    799635347   255 天前
    union
    a87965028
        2
    a87965028   255 天前
    或许可以再建一张表维护这茫茫多个模糊值,然后与表 T join ?
    yjhatfdu2
        3
    yjhatfdu2   255 天前
    应该可以 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
        4
    yjhatfdu2   255 天前
    当然如果是 pg 的话可以更简单这样写,select a from t where a like any(array['%a%','%b%','%e%']); sqlserver 就不知道了
    mmdsun
        5
    mmdsun   254 天前 via Android
    SQLServer 支持全文检索和分词。就别用 like 了吧
    大发龙虎稳赢关于   ·   FAQ   ·   API   ·   大发龙虎稳赢大发龙虎稳赢我 们 的愿景   ·   广告投放   ·   感谢   ·   实用小大发龙虎稳赢工具   ·   2340 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 09:39 · PVG 17:39 · LAX 02:39 · JFK 05:39
    ♥ Do have faith in what you're doing.