You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL中首字母集合通配符查询失效,返回空表求助

解决LIKE查询返回空表的问题
  • 问题根源:[svg]这种字符组通配符并非所有SQL数据库都默认支持。比如MySQL默认的LIKE语法会把[]当作普通字符,试图匹配以[svg]开头的字符串,而非以s、v、g任意一个字符开头的字符串,所以会返回空表。

  • 分数据库的解决办法:

    • MySQL/MariaDB:
      • 使用REGEXP替代LIKE,语法更直接:
        select ename from new_schema.employee where ename REGEXP '^[svg]';
        
      • 若要兼容低版本,也可以用多个OR条件:
        select ename from new_schema.employee where ename like 's%' or ename like 'v%' or ename like 'g%';
        
    • PostgreSQL:
      • 使用SIMILAR TO匹配正则风格的模式:
        select ename from new_schema.employee where ename SIMILAR TO '[svg]%';
        
      • 或者用~操作符实现正则匹配:
        select ename from new_schema.employee where ename ~ '^[svg]';
        
    • SQL Server:
      • 默认支持LIKE里的[]字符组,但要注意大小写匹配问题。如果数据里的名称是大写开头,需把条件改成[SVG]%:
        select ename from new_schema.employee where ename like '[SVG]%';
        
      • 也可以设置不区分大小写的排序规则来避免大小写问题。

内容的提问来源于stack exchange,提问作者Venkata VenuGopal Yerra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 03:15:42