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

求助MySQL查询:移除|字符最后一次出现前的所有内容

MySQL 移除字段中最后一个|之前的内容方案

要提取fileinfo字段里最后一个|之后的有效内容,你可以用MySQL的SUBSTRING_INDEX函数配合TRIM清理空格,以下是具体操作:

1. 先验证处理结果(避免直接更新出错)

执行这条查询,检查清理后的内容是否符合预期:

SELECT TRIM(SUBSTRING_INDEX(fileinfo, '|', -1)) AS cleaned_fileinfo
FROM your_table_name;
  • SUBSTRING_INDEX(fileinfo, '|', -1):从字段末尾开始定位最后一个|,提取它之后的所有内容
  • TRIM():去除内容前后的多余空格(比如示例中| 500.68 MB提取后会带前导空格,TRIM后就变成500.68 MB)
  • 记得把your_table_name替换为你的实际表名

2. 确认结果正确后,更新字段内容

执行这条UPDATE语句,直接修改fileinfo字段:

UPDATE your_table_name
SET fileinfo = TRIM(SUBSTRING_INDEX(fileinfo, '|', -1))
WHERE fileinfo LIKE '%|%';
  • WHERE fileinfo LIKE '%|%':仅更新包含|的记录,确保原本无|的内容保持不变

原语句出错原因

你直接写IF()语句但未包裹在SELECT或UPDATE逻辑中,且INSTR()只能定位第一个|的位置,无法处理最后一个|的场景,因此触发语法错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 22:12:36