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

Greenplum中如何通过SELECT查询替换并追加CLASS_5后缀

Greenplum实现Name字段CLASS_X替换与追加的SQL方案

实现思路

通过正则匹配判断Name字段是否以CLASS_3或CLASS_4结尾,分别执行替换或追加操作:

  • 若匹配到结尾的CLASS_3/CLASS_4,直接替换为CLASS_5
  • 未匹配到则直接追加_CLASS_5后缀

最终SQL语句

SELECT 
  CASE 
    WHEN Name ~ 'CLASS_3$|CLASS_4$' THEN regexp_replace(Name, 'CLASS_3$|CLASS_4$', 'CLASS_5')
    ELSE Name || '_CLASS_5'
  END AS Name,
  Marks 
FROM student;

语句说明

  • Name ~ 'CLASS_3$|CLASS_4$':使用Greenplum支持的POSIX正则匹配,判断Name字段是否以CLASS_3或CLASS_4结尾($表示行尾锚定,避免匹配中间的子串)
  • regexp_replace(Name, 'CLASS_3$|CLASS_4$', 'CLASS_5'):对匹配到的结尾字符串进行替换,将CLASS_3/CLASS_4替换为CLASS_5
  • Name || '_CLASS_5':对未匹配的字段直接拼接_CLASS_5后缀

测试结果

执行上述SQL后,将得到预期结果:

NameMarks
George_Henry_CLASS_594
Jhon_CLASS_572
Michael_CLASS_559
David_Warner_CLASS_588

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 22:30:49