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

MySQL查询字段结尾为指定字母无返回结果问题排查

问题原因及解决办法

核心原因

你插入的COMPANY_CITY字段值末尾都带了回车符(\r),比如目标的"London"实际存储为'London\r',这就导致:

  • LIKE '%n'是匹配以字母n结尾的字符串,但实际字符串最后一位是\r,完全不匹配,所以返回0行;
  • LIKE 'L%'只匹配开头的L,不管结尾字符,所以能正常命中London\r这类记录。

验证方法

可以通过查询字符串长度确认:

SELECT COMPANY_CITY, CHAR_LENGTH(COMPANY_CITY) FROM company WHERE COMPANY_CITY LIKE 'L%';

正常"London"长度是6,这里结果会显示长度为7,多出来的1位就是末尾的\r。

解决办法

  1. 清理现有数据:执行更新语句去掉末尾的回车符
UPDATE company SET COMPANY_CITY = TRIM(TRAILING '\r' FROM COMPANY_CITY);
  1. 临时适配查询:如果不想修改数据,查询时带上回车符
SELECT * FROM company WHERE COMPANY_CITY LIKE '%n\r';

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 00:01:22