我正在运行Python v 2.7和psycopg2 v 2.5 我有一个postgresql数据库函数,它返回一个sql查询作为文本字段。
我使用以下代码调用该函数并从文本字段中提取查询。
cur2.execute("SELECT * FROM historian.generate_get_archive_data_sql(%s, '*',public.get_dcs_datetime_from_timestamp(%s),public.get_dcs_datetime_from_timestamp(%s))",(row,old_time,current_time))
while True: #Indefinite Loop
row2 = cur2.fetchone()
query2 = str(row2)
cur3.execute(query2)
我在运行脚本时似乎遇到以下错误,
ProgrammingError:“'SELECT * FROM或其附近的语法错误 historian._73b4f984f30b4c68a871fac1c53a1b8f_45907294814208000 WHERE archive_datetime BETWEEN 45907381384722560和45907381384732560订购 BY archive_datetime;'“第1行:('SELECT * FROM 历史学家。 73b4f984f30b4c68a871fac1c53a1b8f ...
当我在postgresql服务器上运行查询时,它执行正常。有人能帮助我理解我做错了什么吗? 。感谢。
答案 0 :(得分:1)
如果您可以在问题中描述您的表格架构,那么它会更加清晰。
可能的错误可能是您用于字符串格式化的以下任一参数都是None。
(row,old_time,current_time)
请检查您的代码以解决相同的问题。