gpt4 book ai didi

python - 将 est 日期时间传递给 MySql

转载 作者:行者123 更新时间:2023-11-29 13:53:02 26 4
gpt4 key购买 nike

在 MySql 数据库中,存在 DATETIME 类型的列。我需要按此列选择记录 - 小于当前预计日期的记录。我使用了 Python - datetime of a specific timezone 中的代码确定预计日期:

import MySQLdb
import datetime

class EST(datetime.tzinfo):
def utcoffset(self, dt):
return datetime.timedelta()

def dst(self, dt):
return datetime.timedelta(0)


def get_est():
return datetime.datetime.now(EST())

这是一个选择请求:

a = 'SELECT * FROM Table1 WHERE Date <= %s' % get_est()
print a
cursor.execute(a)
data = cursor.fetchall()
for item in data:
print item

此时,我有一个错误:

File "/usr/lib/python2.7/dist-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
raise errorclass, errorvalue
_mysql_exceptions.ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '= 2013-05-04 13:23:21.776521+00:00' at line 1")

如何摆脱它?请注意,我必须使用当前的 est 日期时间并将其传递给 sql 请求。

select * FROM Table1 WHERE Date <= '2013-05-04 13:34:03.461407+00:00'

最佳答案

您的日期值似乎没有用引号引起来。

a = "SELECT * FROM Table1 WHERE Date <= '%s'" % get_est()

(我不懂 python,所以如果我的语法不正确,我深表歉意。)

关于python - 将 est 日期时间传递给 MySql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16374789/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com