用户选择qdatetime,我需要在pyodbc中编写查询来选择表中日期大于choosen date的项。如何在sql datetime中转换它?怎么写这个请求?
yhuiod9q1#
您可以使用以下方法将qdatetime变量(例如starttime)转换为格式化字符串:
starttime.toString("YYYY-mm-dd");
把这个传给python。要将其转换为python的本机日期时间,请执行以下操作:
import datetime starttime = datetime.datetime.strptime(data_you_got_from_QDateTime, '%Y-%m-%d')
这将为您提供一个python datetime.datetime对象。如果只想在sql查询中使用qdatetime提供的数据,可以执行以下操作:
import pyodbc yourdate = date_received_from_QDateTime cn = pyodbc.connect('DRIVER={SQL Server};SERVER=SQLSRV01;DATABASE=DATABASE;UID=USER;PWD=PASSWORD') cursor = cn.cursor() cursor.execute("select * from yourtable where yourfield > ?", yourdate) for row in cursor.fetchall(): print row
这应该给你合理的信息,调整上述代码,让你的信息。因为我不知道您是如何将qdatetime发送到python的,所以我不能对此发表评论。
1条答案
按热度按时间yhuiod9q1#
您可以使用以下方法将qdatetime变量(例如starttime)转换为格式化字符串:
把这个传给python。
要将其转换为python的本机日期时间,请执行以下操作:
这将为您提供一个python datetime.datetime对象。
如果只想在sql查询中使用qdatetime提供的数据,可以执行以下操作:
这应该给你合理的信息,调整上述代码,让你的信息。因为我不知道您是如何将qdatetime发送到python的,所以我不能对此发表评论。