【问题标题】:SQL Date Variables in PythonPython 中的 SQL 日期变量
【发布时间】:2014-06-15 17:22:45
【问题描述】:

我正在 Python 脚本中编写查询。查询如下:

cur = conn.cursor()
query1 = """select max(date_time) from tablename"""
cur.execute(queryy1)
conn.commit()
rows = cur.fetchall()
print rows

直到这里,代码工作正常,并以某种格式的 datetime.datetime[...] 给我日期 现在,我想在另一个 sql 查询中使用这个变量 'rows',比如说,以下类型:

query2="""insert into table xyz(select * from abc where date_time = '%s')"""%(rows)
cur.execute(query2)

这给了我一个错误,如下所示:

DataError:invalid input syntax for type timestamp : "[((datetime.datetime(2014,6,6,23,0),)]"    

我对学习 Python 完全陌生。任何帮助将不胜感激。

我尝试了以下方法并且成功了:

query2 ="""insert into table xyz(select * from abc where date_time = %s)"""
cur.execute(query2,(rows))

【问题讨论】:

  • 请将错误信息添加到您的问题中,否则我们只能猜测是什么原因。
  • 用错误信息编辑问题
  • 好吧,找到了解决方案。在问题中更新它。不过,我不知道为什么这会奏效,而之前的却没有
  • @Nisha 建议您将带有解决方案的编辑移动到自己的答案中,以便人们将其视为解决方案并对其进行投票。您也将能够(并且应该)接受您自己的答案作为解决方案。
  • @Nisha 我已经创建了一个社区维基,以防万一你不发帖回答并接受它!如果您想发布自己的答案并接受它,只需发布​​它,我将删除 wiki!

标签: python sql


【解决方案1】:

我试过了,现在成功了

query2 ="""insert into table xyz(select * from abc where date_time = %s)"""
cur.execute(query2,(rows))

不过,我不知道它为什么起作用,以及它与我之前尝试的有什么不同

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-19
    • 1970-01-01
    • 2023-03-02
    相关资源
    最近更新 更多