【发布时间】:2018-04-26 04:51:55
【问题描述】:
所以,我每天都需要从 MYSQLdb 查询数据,这就是为什么我更喜欢使用可以查询实际日期的查询 - 1 数据。例如,如果我今天在 11 月 13 日运行我的脚本,我需要 11 月 12 日的所有信息(来自 ACTUAL_DATE - 图片上)。
我在 MYSQLdb 中有一个列,如下所示:
这是任何查询吗,是否有机会使用“DATE - 1”逻辑查询数据?所以我必须分析 ACTUAL_DATE 列中的最后 6 个字符,因为最后 2 个显示日期,最后 4 个显示月份(年份不重要!)
这个 MYSQLdb 每天都会刷新,这就是为什么我需要找到一种方法,我可以从这个表中查询 REAL DATE - 1 天。
我知道代码必须是这样的:
connection = MySQLdb.connect(host='localhost',
user='user1',
passwd='',
db='database1',
use_unicode=True,
charset="utf8")
cursor = connection.cursor()
query = """ select #I NEED SOMETHING HERE..
from OSSZES
into outfile '/tmp/test.csv'
fields terminated by ';'
enclosed by '"'
lines terminated by '\n';
"""
cursor.execute(query)
connection.commit()
cursor.close()
但是如果 mysqldb 中存在这个选择查询,我该如何编写呢?
【问题讨论】:
-
如果您使用 DATE 或 DATETIME 数据类型,而不是使用看起来像 VARCHAR 的数据类型。你可以使用
SELECT * FROM [table] WHERE [column] = NOW() - INTERVAL 1 DAY -
是的,但如果我使用的是 NOW(),则返回当前日期和时间。我如何与我的 ACTUAL_DATE 进行比较?
-
我发布了答案。
标签: python mysql sql debian mysql-python