Dynamic-Sql
在 redshift 動態 SQL 中包含單引號字元串
我有函式命名
Schema.func_date(date,varchar)
我想這樣做(我在 Store proc 中使用以下語句)
Execute 'Select *, ID as Main_Id, ' || 'schema.func_date(quote_literal('2020-02-20'),quote_literal('ST')), '|| 'from main_table'
傳遞單引號字元串時出現無效操作錯誤。如何在執行語句中完美傳遞單引號字元串?
雖然該
QUOTE_LITERAL()
函式在特定上下文中很有幫助,但我認為在使用動態 SQL 時仍需要手動轉義單引號。所以你的查詢應該遵循這個:
Execute 'Select *, ID as Main_Id, ' || 'schema.func_date(quote_literal(''2020-02-20''),quote_literal(''ST'')), '|| 'from main_table'