簡體   English   中英

當語句無法使用 args 時的雪花案例

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM