Pyodbc和我的MSSQL从今天开始

时间:2016-04-26 11:05:15

标签: python python-3.x pyqt5

我需要帮助。我使用pyodbc并且已经与服务器和我的桌子联系了。但是我想从今天开始获取新的更新。 我使用了cursor.execute("SELECT * FROM Disk")

但有了这个我就像6000行。从2月26日到今天。 我怎么能从今天的日期或提前一周获得?

示例 cursor.execute("SELECT * FROM Disk WHERE dt > todays_date")

提前致谢

3 个答案:

答案 0 :(得分:1)

您可以使用mysql日期和时间功能。 例如,查看今天的条目: cursor.execute(“SELECT * FROM Disk WHERE dt> CURRENT_DATE”)

更多信息: https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html

答案 1 :(得分:0)

import sys
import pyodbc
from datetime import datetime

cnxn = pyodbc.connect(r'DRIVER={SQL Server};SERVER=192.168.205.14\WHATSUP;DATABASE=Monitor;UID=username;PWD=password')
cursor = cnxn.cursor()

for row in cursor.fetchall():
    print (row)

然后按此顺序从MSSQL服务器返回数据

Custid,servername,drive,dt,size_mb,free_mb,last_reboot,last_update,wblastSuccesfull,wblastbackup,TempID

('BIOBE','SBS','C:','26 .02.2016','279','151','36','38','25 .02.2016','25 .02.2016' ,453)

但由于有很多数据TempID从456到6023并且可以追溯到2月,我想从今天和/或1周开始提取。那可能吗?

答案 2 :(得分:0)

好的,我一直在尝试不同的事情,因为我住在挪威,我们有不同的日期格式......我们有dd.mm.yyy eksample:24.12.2016

import pyodbc
import datetime

format = "%d.%m.%Y"
today = datetime.datetime.today()
s = today.strftime(format)
d = datetime.datetime.strptime(s, format)
print (d.strftime(format))

c = pyodbc.connect(r'DRIVER={SQL Server};SERVER=192.168.205.14\WHATSUP;DATABASE=Monitor;UID=sa;PWD=WhatsUp_Gold')
cursor = c.cursor()
cursor.execute("SELECT * FROM Disk WHERE dt = '27.04.2016'")

for row in cursor.fetchall():
    print (row)

并且我得到输出:

  

27.04.2016< - 这是因为打印(d.strftime(格式))“

     

('Aconte','Srv1','C:','27 .04.2016','466','302','6','6','','',6699)

现在我怎么能改变这个[“SELECT * FROM Disk WHERE dt = '27 .04.2016'” 这样的事情 “SELECT * FROM Disk WHERE dt ='CURRENT_DATE'”?