我试图使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子句,但确实遇到了同样的问题。
答案 0 :(得分:0)
如果您将此SQL发送到雪花并且由于语法错误而失败,我希望您会收到类似“ SQL编译错误:...”的错误。因此,我想知道问题是否在您的python程序中。
您可以分享更多吗?
答案 1 :(得分:0)
您在哪里设置一些参数? 雪花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}”的名称。 你能给我们更多关于你在做什么的背景吗?