替换Amazon Redshift中列中的单引号字符

时间:2017-03-20 22:27:31

标签: mysql amazon-redshift

我在Amazon Redshift中使用以下格式的表中有一些数据:

Column1    Column2
'a'          'b'

我想从此表中删除单引号字符并获取如下数据:

Column1    Column2
a            b

我原以为Replace函数可以解决这个问题,所以我编写了以下查询:

select replace(column1,''',''),
       replace(column2,''','')
from table

但是这不起作用并且给了我Amazon](500310) Invalid operation: unterminated quoted string at or near "''','')。我试图通过\来逃避单引号字符,但即使这样也无效。

我也尝试使用以下查询:

select replace(column1,"'",''),
           replace(column2,"'",'')
    from table

但它给了我错误[Amazon](500310) Invalid operation: column "'" does not exist in <tablename>

那么如何从我的数据中删除这些单个字符?

非常感谢任何帮助。

TIA。

2 个答案:

答案 0 :(得分:3)

使用MySQL,您有两种引用方式,因此您需要切换:

REPLACE(column1, "'", "")

您无法在不转义的情况下对分隔和内容使用相同的字符:

REPLACE(column1, '\'', '')

答案 1 :(得分:3)

select replace(column1,chr(39),''),
       replace(column2,chr(39),'')
from table

CHR函数返回与输入参数指定的ASCII代码点值匹配的字符。

如果我做了一个错误的假设请发表评论,我会重新调整我的答案。