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

如何提取非JSON格式字符串列中ID分段下的对应值?

非JSON结构化字符串ID分段提取方案

你之前使用的JSON点操作符语法仅支持JSON格式字段,非JSON格式的结构化字符串需要通过字符串处理函数或正则表达式提取对应分段内容,以下是不同主流数据库的实现方案,默认假设存储分段内容的列名为content,分段规则为key=value,不同分段用;分隔,你可以根据实际业务的分段规则调整匹配字符:

MySQL 实现

SELECT 
  -- 先截取ID=之后的内容,再截取到下一个分号为止的部分
  SUBSTRING_INDEX(
    SUBSTRING_INDEX(content, 'ID=', -1),
    ';', 1
  ) AS extracted_id
FROM TBL_A;

PostgreSQL 实现

字符串拆分法

SELECT split_part(split_part(content, 'ID=', 2), ';', 1) AS extracted_id FROM TBL_A;

正则匹配法(通用性更强)

SELECT substring(content FROM 'ID=([^;]+)') AS extracted_id FROM TBL_A;

Oracle 实现

SELECT REGEXP_SUBSTR(content, 'ID=([^;]+)', 1, 1, NULL, 1) AS extracted_id FROM TBL_A;

SQL Server 实现

SELECT 
  SUBSTRING(
    content,
    CHARINDEX('ID=', content) + 3, -- 跳过ID=三个字符的长度
    CHARINDEX(';', content, CHARINDEX('ID=', content)) - (CHARINDEX('ID=', content) + 3)
  ) AS extracted_id
FROM TBL_A;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 22:27:07