繁体   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