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

7kqas0il  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(391)

用户选择qdatetime,我需要在pyodbc中编写查询来选择表中日期大于choosen date的项。如何在sql datetime中转换它?怎么写这个请求?

yhuiod9q

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的,所以我不能对此发表评论。

相关问题