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

MySQL使用SUBSTRING_INDEX解析字符串时如何去除输出末尾空格

问题根因

你现在跑出来的结果带尾部空格,是因为源数据的格式本来就是「实际值 + 空格 + | + 空格 + 颜色字段」,SUBSTRING_INDEX在截取分隔符前的内容时,会把分隔符前面挨着的那个空格一并截进来,本身没有自动清除附带空白的能力。

修改后的查询语句

在原有的截取逻辑外面包一层TRIM()函数,把截出来的内容里附带着的首尾多余空格裁掉就行,直接可用的SQL如下:

TRIM(SUBSTRING_INDEX(`Name`, '|', 1)) AS `New Name`
实际效果
  • 处理流程是先通过SUBSTRING_INDEX拿到|前面的整段文本,再用TRIM()清除这段文本首尾附着的半角空格
  • 对应你给的示例数据,最终输出的New Name就是完全没有多余字符的AFBHY、GHYYU、GHYYL,和预期完全匹配
  • 如果你的源数据里存在全角空格的特殊场景,可以用兼容版本,同时清除半角、全角的尾部空格:
    TRIM(TRAILING ' ' FROM TRIM(TRAILING ' ' FROM SUBSTRING_INDEX(`Name`, '|', 1))) AS `New Name`
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.24 00:36:09