我正在尝试将具有多个逗号分隔的小部件值的小部件传递到SQL查询中。我可以将小部件值纳入这样的列表:

问题描述 投票:0回答:1
我被告知我正在使用一个参数,因此我需要使用参数语法传递,但是当我使用参数语法时,它告诉我我正在尝试传递python变量,并且我需要使用该语法。我陷入困境。有人可以帮助吗?

我只能使用动态SQL来完成这项工作。  也许有人聪明有更好的方法?

这是大多数魔术发生的地方:

inStr = " ,".join(["'" + i + "'" for i in input_list])

python apache-spark-sql widget databricks databricks-sql
1个回答
0
投票
foo,bar

,则会得到一串

'foo','bar'

。 (我假设您的列是字符串数据类型)。

input_values = dbutils.widgets.get("codes_to_search") input_list = input_values.split(",") #build your in list inStr = " ,".join(["'" + i + "'" for i in input_list]) #now build your full query qString = "select <cols> from <your table> where <some col> in (" + inStr + ")" #and run it spark.sql(qString).show()

	

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.