比较Python3 MySQL(MySQL连接器)中的日期值
对于我的机器人,我使用数据库来获取和存储一些东西。现在我只想输出数据库中今天/以后更新的所有内容。我写了这段代码,但它不起作用比较Python3 MySQL(MySQL连接器)中的日期值,mysql,python-3.x,Mysql,Python 3.x,对于我的机器人,我使用数据库来获取和存储一些东西。现在我只想输出数据库中今天/以后更新的所有内容。我写了这段代码,但它不起作用 ts = time.gmtime() tsy = str(ts[0]) tsm = str(ts[1]) tsd = str(ts[2]) todaysdate = tsy + '-' + tsm + '-' + tsd s
ts = time.gmtime()
tsy = str(ts[0])
tsm = str(ts[1])
tsd = str(ts[2])
todaysdate = tsy + '-' + tsm + '-' + tsd
selDBcmd = "SELECT UT, SJ, HW FROM `homework` WHERE DATE(UT) >= '%s';"
cur.execute(selDBcmd, (todaysdate))
msg = 'homework:\n\n'
selDBc = cur.fetchall()
await client.send_message(message.channel, selDBc)
有人知道为什么它会输出所有的数据库数据,而不是只输出日期在今天之后的数据库数据吗
我对python并不陌生,但对python中的mysql连接器来说,这是我经过更多的尝试和错误后找到的答案
ts = time.gmtime()
tsy = int(ts[0])
tsm = int(ts[1])
tsd = int(ts[2])
selDBcmd = "SELECT UT, SJ, HW FROM `homework` WHERE UT >= '%s-%s-%s';"
cur.execute(selDBcmd, (tsy, tsm, tsd))
而且可能代码不是你能做/使用的最好和最干净的代码。你确定
todaysdate
以YYYY-MM-DD
格式结束吗?(另外,我对python库不太熟悉。在%s附近是否需要“
”?一些lib会为您处理它们。)噢,有人前几天遇到了类似的问题。。。您是否尝试过将(今天)
更改为(今天)
?作为旁注,如果UT
是时间戳或日期时间,UT>='YYYY-MM-DD 00:00:00'
应该快得多(特别是如果UT
被索引);将函数应用于条件中的字段值是一个性能杀手。现在我得到了now=time.strftime(“%Y-%m-%d”)
thenselDBcmd=“从作业中选择UT,SJ,HW,其中UT>=“%s”;“cur.execute(selDBcmd,(now))
,但它也不起作用