Как обрабатывать значения в кавычках в команде AWS Redshift unload? - PullRequest
0 голосов
/ 16 марта 2019

Предположим, после Документы AWS Я хотел бы использовать команду выгрузки, например

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?

Полное раскрытие, я знаю один способ сделать это, но не видел ни хорошей ссылки, ни ТАКОГО вопроса, так что решил, что я опубликую один для других.

1 Ответ

1 голос
/ 17 марта 2019

С UNLOAD - Amazon Redshift :

Если ваш запрос содержит кавычки (например, для включения литеральных значений), поместите литерал между двумя наборами одинарных кавычек - вынеобходимо также заключить запрос в одинарные кавычки:

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

...