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

如何编写SQL SELECT查询提取Id列按分隔符拆分的后两段拼接值

你可以直接将SPLIT_PART拆分出的第二、第三段用字符串拼接符连起来,中间加个-即可,不同数据库的写法略有差异:

支持SPLIT_PART的数据库(PostgreSQL、Oracle、SQL Server 2016+等)

使用||(SQL Server用+)作为拼接符:

-- PostgreSQL/Oracle/SQLite 写法
SELECT SPLIT_PART(Id, '-', 2) || '-' || SPLIT_PART(Id, '-', 3) AS processed_id
FROM 你的表名;

-- SQL Server 写法
SELECT SPLIT_PART(Id, '-', 2) + '-' + SPLIT_PART(Id, '-', 3) AS processed_id
FROM 你的表名;

MySQL 写法

MySQL没有内置SPLIT_PART,可以用SUBSTRING_INDEX实现同样效果:

SELECT CONCAT(
  SUBSTRING_INDEX(SUBSTRING_INDEX(Id, '-', 2), '-', -1),
  '-',
  SUBSTRING_INDEX(Id, '-', -1)
) AS processed_id
FROM 你的表名;

逻辑说明:SPLIT_PART(字段, 分隔符, 序号)会按指定分隔符拆分字符串,返回对应序号的片段(序号从1开始计数),我们分别取第2、第3段,中间拼上分隔符-就得到了你需要的格式,用你给出的示例数据运行后输出和你要求的结果完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 18:54:05