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

如何在MySQL中提取首个大括号对之间的目标文本内容

MySQL多语言文本提取方案

完全可以通过MySQL原生字符串函数实现需求,核心逻辑是通过两次字符串截断定位目标文本的起止位置:

  1. 先截断首个}右侧的内容,去掉第一个语言标签头部
  2. 再截断第一个{language}左侧的内容,就能得到首个语言对应的文本

提取查询语句

假设存储多语言内容的字段为multi_lang_content,所属表为goods,查询语句如下:

SELECT
  SUBSTRING_INDEX(
    SUBSTRING_INDEX(multi_lang_content, '}', -1),
    '{language}',
    1
  ) AS first_lang_content
FROM goods;

批量写入新字段操作

如果需要把提取结果持久化到新字段,可按以下步骤执行:

-- 新增存储首段文本的字段,字段长度可根据实际业务调整
ALTER TABLE goods ADD COLUMN first_lang_title VARCHAR(255) COMMENT '首段语言商品标题';

-- 批量更新赋值
UPDATE goods
SET first_lang_title = SUBSTRING_INDEX(SUBSTRING_INDEX(multi_lang_content, '}', -1), '{language}', 1);

效果验证

对应你给出的示例数据{language en}text in english{language}{language de}text in german{language}:

  1. 第一次截断后得到:text in english{language}{language de}text in german{language}
  2. 第二次截断后得到:text in english,完全符合预期输出。

提示:该方案兼容MySQL 5.5及以上所有版本,无需额外插件,只要你的多语言内容严格遵循给定的格式规则即可正常运行。如果字段内容不符合格式要求,查询会返回空字符串,可根据业务需要额外加条件过滤异常数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 08:45:04