SQL LIKE查询无结果求助:匹配'%IA'未返回对应数据
排查SQL LIKE查询无结果的常见原因
字符大小写不匹配:部分数据库的字符集排序规则(collation)区分大小写,比如
utf8_bin。如果TEMA字段的值是小写结尾(如geometria),用%IA查询会匹配失败。可以改用不区分大小写的写法:SELECT TEMA FROM LIBRERIAS WHERE LOWER(TEMA) LIKE '%ia';也可查看表字段的collation设置,确认是否启用了大小写敏感规则。
数据存在尾部空格或隐藏字符:如果
GEOMETRIA实际存储时末尾带有空格或不可见字符,%IA无法匹配这类数据。可以用TRIM函数去除空格后再匹配:SELECT TEMA FROM LIBRERIAS WHERE TRIM(TEMA) LIKE '%IA';或者通过长度查询验证是否有额外字符:
SELECT TEMA, LENGTH(TEMA) FROM LIBRERIAS WHERE TEMA LIKE '%GEOMETRIA%';字符编码不一致:数据库、表或字段的编码与查询环境编码不匹配时,可能导致字符识别错误。检查数据库和字段的编码设置,确保与查询环境编码一致。
表/字段名拼写错误:确认
LIBRERIAS表名和TEMA字段名是否完全正确,部分数据库(如Linux下的MySQL)对表名大小写敏感,拼写错误会导致查询无结果。
内容的提问来源于stack exchange,提问作者trex
相关产品推荐
相关产品推荐

