[英]comparing python datetime to mysql datetime
我是一个完整的初学者,我有一个测试mysql数据库设置。 我目前正在尝试检查数据库中列出的备份开始时间是否在当天中午12点之前。 使用以下内容将时间输入表中:
UPDATE Clients SET backup_started=NOW() WHERE id=1;
我目前正在尝试的是:
now = datetime.datetime.now()
today12am = now.replace(hour=0, minute=0, second =0,)
dbu.cursor.execute('SELECT id, company_name, backup_started,\
backup_finished FROM Clients WHERE backup_started>' + today12am)
data = dbu.cursor.fetchone()
print (data)
我知道它正在尝试将datetime.datetime与字符串进行比较,这就是它遇到问题的地方。 我的问题是,实现这一目标的最佳方法是什么?
错误:
TypeError: cannot concatenate 'str' and 'datetime.datetime' objects
使您的查询参数化 :
dbu.cursor.execute("""
SELECT
id, company_name, backup_started, backup_finished
FROM
Clients
WHERE
backup_started > %s""", (today12pm, ))
使用strftime
dbu.cursor.execute('SELECT id, company_name, backup_started,\
backup_finished FROM Clients WHERE backup_started> %s' %today12pm.strftime('%Y-%m-%d %H:%M:%S'))
检查格式是否正确
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.