【问题标题】:How to query data from MYSQLdb with date time now in Python 2.7?现在如何在 Python 2.7 中使用日期时间从 MYSQLdb 查询数据?
【发布时间】:2018-04-28 09:09:21
【问题描述】:

我有一个名为“TEST”的表,我有一个名为“UPLOAD_TIME”的列,什么是 varchar(100),格式如下:

"2017-11-14 14:59:05.243974"

如果我现在想将我的“UPLOAD_TIME”列与实际日期相似,并选择年月日与我的数据相等的数据,如何从该表中查询数据?

connection = MySQLdb.connect(host='localhost',
    user='admin',
    passwd='****',
    db='database1',
    use_unicode=True,
    charset="utf8")
cursor = connection.cursor()
query = """ select 'column1', 'column2', 'column3', 'column4', 'column5', 'column6', 'UPLOAD_TIME', 'ID'
    union all
    select `column1`, `column2`, `column3`, `column4`, `column5`, `column6`, `UPLOAD_TIME`, `ID`
    from TEST
    into outfile '/tmp/test.csv'
    fields terminated by ';'
    enclosed by '"'
    lines terminated by '\n';
    """
cursor.execute(query)
connection.commit()
cursor.close()
  • WHERE datetime ='2017-11-14' 不适合我,我希望始终与实际日期相似。

【问题讨论】:

  • 使用NOW()获取当前日期时间?
  • WHERE DAY(STR_TO_DATE('UPLOAD_TIME, '%W, %b %d')) = DAY(NOW()) ?

标签: python mysql sql mysql-python


【解决方案1】:

这应该可行。

WHERE DATE_FORMAT(UPLOAD_TIME,'%Y-%m-%d')='2017-11-14'

评论链接:https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_curdate

【讨论】:

  • 我在我的问题中写道,WHERE datetime ='2017-11-14' 不适合我!我想总是与实际的系统日期相似。
  • 哦,我的错。试试这个:dev.mysql.com/doc/refman/5.5/en/…
  • 我试过这个:WHERE DATE_FORMAT(UPLOAD_TIME,'%Y-%m-%d')=DAY(NOW()) 但我收到此错误消息:“警告:截断不正确的 DOUBLE 值'2017-11-14' 我得到一个空输出
  • 啊,我的错。它正在使用 DATE(NOW),感谢您提供此链接!
猜你喜欢
  • 2016-02-19
  • 1970-01-01
  • 1970-01-01
  • 2014-08-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-31
  • 1970-01-01
相关资源
最近更新 更多