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 中提取部分字符串

将多个 Amazon Redshift 表合并到一个表中会出现错误:列 X 的类型为布尔值,但表达式的类型为字符变化提示:

如何让我的 Amazon Redshift UDF 接收字符串而不是列表?

删除由 Amazon Redshift 创建的临时表

Amazon Redshift:是不是可以返回多个结果集?

仅当表存在时如何删除 Amazon Redshift 中的表