sql - 如何处理 AWS Redshift 卸载命令中的引用值?

标签 sql amazon-web-services amazon-redshift

假设,遵循 AWS docs我想使用像这样的卸载命令

unload
(
'SELECT * 
FROM table_name 
WHERE day = '2019-01-01' 
')
to 's3://bucket_name/path' 
iam_role 'arn:aws:iam::<aws acct num>:role/<redshift role>'
ADDQUOTES
ESCAPE
DELIMITER ','
GZIP
ALLOWOVERWRITE; 

问题是完整查询应该被引用,并且在完整查询(作为有效的 sql)完成之前将字符串文字写入查询将转义字符串。如何在 AWS redshift 卸载语句中转义引号?

完全公开,我知道一种方法来做到这一点,但还没有看到一个好的链接或 SO 问题,所以我想我会为了其他人的利益而发布一个。

最佳答案

来自 UNLOAD - Amazon Redshift :

If your query contains quotes (for example to enclose literal values), put the literal between two sets of single quotation marks—you must also enclose the query between single quotation marks:

('select * from venue where venuestate=''NV''')

关于sql - 如何处理 AWS Redshift 卸载命令中的引用值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55191070/

相关文章:

mysql - 如何从sql表或sql数据库中导出所有单词

sql - Postgres 过滤,以及一个默认的 sentinal for "where in Array"子句,它将 "where"变成重言式

amazon-web-services - 如何为多个 AWS EC2 实例设置共享持久存储?

amazon-web-services - 连接亚马逊RDS服务

amazon-web-services - 如何使用AWS EKS中的静态DNS向我的vpc中的所有用户公开kubernetes仪表板?

amazon-redshift - Redshift - 如何显示 CASCADE 将删除的依赖项?

sql - 无限滚动Sql语句获取下一条记录

RPostgreSQL - R 连接到 Amazon Redshift - 如何写入/发布更大的数据集

sql - 更新 DBT 中的表

sql - 限制 SQL JOIN