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

查询TB_PETS表指定字符条件无结果,SQL LIKE语句问题排查

问题排查方案

1. 数据库语法兼容性问题

你写的_[aui]%是SQL Server等支持T-SQL语法的数据库的字符集匹配写法,但MySQL、PostgreSQL这类数据库并不支持[]作为通配符。如果用的是这类数据库,得换写法:

  • MySQL/PostgreSQL可用正则匹配:
SELECT * FROM TB_PETS
WHERE PETNAME REGEXP '^.[aui]';
  • 或者用LIKE结合多条件OR兼容所有数据库:
SELECT * FROM TB_PETS
WHERE PETNAME LIKE '_a%' OR PETNAME LIKE '_u%' OR PETNAME LIKE '_i%';

2. 大小写敏感问题

如果数据库开启了大小写敏感(比如MySQL用区分大小写的排序规则、PostgreSQL默认设置),而表中宠物名称的第二个字符是大写A/U/I,那么_[aui]%只会匹配小写情况。可以改成大小写不敏感的写法:

  • 针对支持[]的数据库:
SELECT * FROM TB_PETS
WHERE LOWER(PETNAME) LIKE '_[aui]%';
  • 用正则不敏感模式(以MySQL为例):
SELECT * FROM TB_PETS
WHERE PETNAME REGEXP '^.[aui]' COLLATE utf8_general_ci;

3. 数据本身无符合条件的记录

先确认表中确实存在目标数据:

  • 先列出所有宠物名称手动检查:
SELECT PETNAME FROM TB_PETS;
  • 或者单独验证第二个字符为A的情况:
SELECT * FROM TB_PETS WHERE PETNAME LIKE '_A%' OR PETNAME LIKE '_a%';

如果这个查询也返回空,说明表中本身没有符合条件的记录。

内容的提问来源于stack exchange,提问作者ouie raphael

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 01:31:59