对Amazon Redshift中的单个列使用多个替换条件

时间:2019-06-10 15:28:19

标签: amazon-web-services amazon-redshift

我有一个表,其中value列具有,并带有$符号,例如:$ 8,122.14作为值。我想编写一个替换函数以一次性替换该列上的$和。有什么办法可以在Redshift中一次写入多个条件?此外,这是对数据进行后处理的一部分,在这些数据替换后,我将从阶段表中的数据插入到最终表中。

我尝试了代码中给定1和2中列出的方法,但是它们都失败了。

采取1:     插入db.stage_table     选择     (coalesce(replace(logging_amount,'$',','),'')))作为logging_amount     来自db.table;

接二:     插入db.stage_table     选择     (coalesce(replace(logging_amount,'$',','))作为logging_amount     来自db.table;

他们两个都失败了。

预期结果应该是在单个语句中使用replace函数。

1 个答案:

答案 0 :(得分:2)

是的,您可以嵌套这样的替换语句

replace(replace(logging_amount,'$',''),',','')

或者您也可以根据需要使用正则表达式(对于我个人而言,这样的嵌套替换更容易阅读。)