[英]Snowflake case when statement not working using args
我試圖使 select 語句依賴於我通過 python 腳本傳遞的 args 變量(在本例中為 args.type='hello')。
它看起來像這樣:
case when '{{type}}' = 'hello'
then
SELECT
name from table1
else
SELECT
city from table2 where code='usa'
end
我得到的錯誤:
syntax error unexpected 'case'.
syntax error unexpected 'else'.
syntax error unexpected ')'.
我也試過 IFF 條款但確實遇到了同樣的問題。
如果您將此 sql 發送到 snowflake 並且由於語法錯誤而失敗,我希望您會收到類似“SQL 編譯錯誤:...”的錯誤。 因此,我想知道問題是否出在您的 python 程序中。
你能分享更多嗎?
你在哪里嘗試設置一些參數? 雪花 python 連接器支持多種語法:
format: .execute("... WHERE my_column = %s", (value,))
pyformat: .execute("... WHERE my_column = %(name)s", {"name": value})
qmark: .execute("... WHERE my_column = ?", (value,))
numeric: .execute("... WHERE my_column = :1", (value,))
如果您使用的是 python3,則可以使用 f" {pythonvar} " 之類的東西。 你能給我們更多關於你在做什么的背景嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.