我正在生成一个snowflake查询,如下所示:

name_list = ("O'Reley", "de'Medici")
query = f'''
    SELECT *
    FROM "mydb"."myschema"."mytable" 
    WHERE NAME IN {name_list}
'''

我应该如何生成我的name_list,以便我的SF查询是

SELECT *
FROM "mydb"."myschema"."mytable" 
WHERE NAME IN ('O''Reley', 'de''Medici')

推荐答案

使用parameter binding而不是字符串格式.这将负责自动转义特殊字符.

name_list = ("O'Reley", "de'Medici")
query = '''
    SELECT *
    FROM "mydb"."myschema"."mytable" 
    WHERE NAME IN (%s)
'''
con.cursor.execute(query, [name_list])

Python相关问答推荐

如何使用Python中的clinicalTrials.gov API获取完整结果?

有什么方法可以避免使用许多if陈述

将HLS纳入媒体包

numba jitClass,记录类型为字符串

Python,Fitting into a System of Equations

try 将一行连接到Tensorflow中的矩阵

在极性中创建条件累积和

Pandas计数符合某些条件的特定列的数量

使用密钥字典重新配置嵌套字典密钥名

Python逻辑操作作为Pandas中的条件

Python Pandas获取层次路径直到顶层管理

pysnmp—lextudio使用next()和getCmd()生成器导致TypeError:tuple对象不是迭代器''

如何在Great Table中处理inf和nans

Discord.py -

删除Dataframe中的第一个空白行并重新索引列

在round函数中使用列值

为什么我的scipy.optimize.minimize(method=";newton-cg";)函数停留在局部最大值上?

多索引数据帧到标准索引DF

对于数组中的所有元素,Pandas SELECT行都具有值

在MongoDB文档中仅返回数组字段