我有以下原始数据:
id = 2345
id_num = 3,6,343,32
我需要通过cx_Oracle连接在ORACLE SQL查询中将上述两个参数作为参数传递为:
query = “””
select * from mytable where pid = 2345 and id_num in (3,6,343,32)
“””
我创建一个字典,如下所示:
sparm = {}
sparm['pid'] = id
sparm['idnum'] = id_num
并尝试使用它作为:
query = “””
select * from mytable where pid = :pid and id_num in :idnum
“””
df = pd.read_sql(query, con=conct, params=sparm)
没有成功。
:pid可以工作,但:idnum不行。如果有任何建议,我们将不胜感激。
发布于 2019-08-08 03:21:31
我有以下原始数据:
id = 2345
id_num = 3,6,343,32
我需要通过cx_Oracle连接在ORACLE SQL查询中将上述两个参数作为参数传递为:
query = “””
select * from mytable where pid = 2345 and id_num in (3,6,343,32)
“””
我创建一个字典,如下所示:
sparm = {}
sparm['pid'] = id
为where子句创建一个元组,如下所示:
where=tuple(list(id_num.split(",")))
并尝试使用它作为:
query = “””
select * from mytable where pid = :pid and id_num in {}
“””.format(where)
df = pd.read_sql(query, con=conct, params=sparm)
成功了。:pid与dict输入一起工作,而:idnum作为元组输入工作。
https://stackoverflow.com/questions/57399784
复制相似问题