如何将qdatetime转换为sql datetime并在python中从sql表中选择?

问题描述 投票:0回答:1

用户选择QDateTime,我需要在pyodbc中编写查询,该查询选择表中日期大于所选日期的项目。如何在sql datetime中转换它?以及如何编写此请求?

sql pyodbc qdatetime
1个回答
0
投票

您可以使用以下方法将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

这应该为您提供合理的信息,以调整上面的代码以获取信息。由于我不知道您是如何向Python发送QDateTime的,因此无法对此发表评论。

© www.soinside.com 2019 - 2024. All rights reserved.