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

PostgreSQL如何拆分含指定字符串的exit_reason列实现格式化输出

exit_reason列批量转换方案

整个处理逻辑完全匹配你提的3条规则,分3步执行即可,无需枚举所有字段值:

  1. 提取字符串第一个-之前的内容,没有-则取完整原值
  2. 若提取后的内容以sr_开头,移除该前缀
  3. 将所有下划线_替换为空格

不同常用数据库的实现代码如下:

MySQL 实现

SELECT 
  REPLACE(
    CASE 
      WHEN LEFT(SUBSTRING_INDEX(exit_reason, '-', 1), 3) = 'sr_' 
      THEN SUBSTRING(SUBSTRING_INDEX(exit_reason, '-', 1), 4)
      ELSE SUBSTRING_INDEX(exit_reason, '-', 1)
    END,
    '_',
    ' '
  ) AS processed_exit_reason
FROM your_table;

PostgreSQL 实现

SELECT 
  REPLACE(
    CASE 
      WHEN LEFT(SPLIT_PART(exit_reason, '-', 1), 3) = 'sr_'
      THEN SUBSTRING(SPLIT_PART(exit_reason, '-', 1) FROM 4)
      ELSE SPLIT_PART(exit_reason, '-', 1)
    END,
    '_',
    ' '
  ) AS processed_exit_reason
FROM your_table;

Hive/Spark SQL 实现(支持正则可直接简化)

SELECT 
  REPLACE(
    REGEXP_REPLACE(SPLIT(exit_reason, '-')[0], '^sr_', ''),
    '_',
    ' '
  ) AS processed_exit_reason
FROM your_table;

上述方案对新增的符合规则的exit_reason值无需修改代码即可自动适配,完美解决批量处理的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 04:39:04