Python执行动态MSSQL查询返回空值,如何获取生成的SQL字符串?
解决方法
- 你用
pd.read_sql_query执行该SQL后,返回的insertquery是DataFrame对象,并非直接的字符串,需要从中提取目标文本:- 由于查询仅返回一行一列的结果,可通过DataFrame的索引提取值:
generated_sql = insertquery.iloc[0, 0] # 打印或直接使用该字符串 print(generated_sql)
- 由于查询仅返回一行一列的结果,可通过DataFrame的索引提取值:
- 也可以跳过pandas,直接用pyodbc游标执行查询,更直接获取结果:
cursor = cnxn1.cursor() cursor.execute(sqlInsertScript) result_row = cursor.fetchone() generated_sql = result_row[0] cursor.close()
内容的提问来源于stack exchange,提问作者Leo Torres
相关产品推荐
相关产品推荐

