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

AWS Redshift替代SQL Server STUFF函数实现首3位替换方案咨询

AWS Redshift 替换列前3位数字为固定值的解决方案

原SQL Server中使用STUFF函数替换列前3位为固定值123的逻辑,在AWS Redshift中可以通过字符串拼接结合SUBSTRING函数实现,以下是可行方案:

完整SQL代码

SELECT 
    CASE 
        WHEN LEN(ColName) >= 3 THEN '123' || SUBSTRING(ColName, 4)
        ELSE '123'
    END AS NewColName
FROM DataBase.dbo.TableName;

逻辑说明

  1. 核心逻辑:用固定字符串'123'拼接原列从第4位开始的子串,完全等价于STUFF(ColName,1,3,'123')的效果。
  2. 边界处理:通过CASE语句兼容列值长度不足3位的情况——如果原字符串长度小于3,直接返回'123',确保所有场景都符合需求。
  3. 函数兼容性:Redshift原生支持SUBSTRING(也可简写为SUBSTR)和LEN函数,无需额外配置。

示例验证

  • 输入:8010001802000000000209092396 → 输出:1230001802000000000209092396
  • 输入:555209092396 → 输出:123209092396
  • 输入:12 → 输出:123

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 09:45:28