Include single quote string in redshift dynamic SQL
-
16-03-2021 - |
Question
I have function named
Schema.func_date(date,varchar)
I wanna do like this(I am using below statement inside Store proc)
Execute 'Select *, ID as Main_Id, ' ||
'schema.func_date(quote_literal('2020-02-20'),quote_literal('ST')), '||
'from main_table'
I am getting Invalid operation error while passing single quote string. How to pass the single quote string perfectly in execute statement?
Solution
While the QUOTE_LITERAL()
function is helpful in specific contexts, I think you still need to manually escape the single quotes when you use Dynamic SQL.
So your query should follow this:
Execute 'Select *, ID as Main_Id, ' ||
'schema.func_date(quote_literal(''2020-02-20''),quote_literal(''ST'')), '||
'from main_table'
Licensed under: CC-BY-SA with attribution
Not affiliated with dba.stackexchange