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