Amazon Redshift 字符串列出删除多个单引号
Posted
技术标签:
【中文标题】Amazon Redshift 字符串列出删除多个单引号【英文标题】:Amazon Redshift string to list remove multiple single qoutes 【发布时间】:2021-03-17 22:44:50 【问题描述】:您好,我正在尝试从字符串中删除单个 qoutes,并想在列表中更改它,
我有像'''12345'',''12345'',12345'''
这样的输入我想要像('12345','12345,'12345')
这样的输出我已经尝试过trim('''12345'',''12345'',12345''', '''')
但它给了我56963','57296','57394
我想要列表而不是数组所以string_to_array 对我没有用。实际上,我需要它的精确格式,例如 DELETE 语句中 WHERE 子句中的('12345','12345,'12345')
列表,这也是它的要求,所以请帮我获得这个输出。提前致谢
【问题讨论】:
嗨,有趣,不确定,也许REPLACE
函数可能有用
如何在WHERE子句中使用?
我正在尝试WHERE code in (replace('''12345'',''12345'',12345''', '''', ''))
,但它不起作用
【参考方案1】:
我会通过几个步骤来解决这个问题。
首先删除字符串中的所有单引号:
REPLACE(column, "'", "")
第二次在逗号周围加单引号:
REPLACE(column, ",", "','")
第三次用单引号连接字符串的开头和结尾,你会得到这样的结果:
"('"||REPLACE(REPLACE(column, "'", ""), ",", "','")||"')"
这也可以通过使用 REGEX 和其他一些方法来解决,但这是首先想到的。这样,您就可以以对您有用的方式清理不必要的引号和结构。
希望它有效,因为我没有测试:)
【讨论】:
以上是关于Amazon Redshift 字符串列出删除多个单引号的主要内容,如果未能解决你的问题,请参考以下文章
将多个 Amazon Redshift 表合并到一个表中会出现错误:列 X 的类型为布尔值,但表达式的类型为字符变化提示: