0

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

4

1 回答 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

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

于 2020-05-25T04:09:48.540 回答