【问题标题】:MySQL compare now() (only date, not time) with a datetime fieldMySQL 将 now() (仅日期,而不是时间)与日期时间字段进行比较
【发布时间】:2013-01-26 04:38:50
【问题描述】:

我有一个duedate 列(datetime 格式)指定票的到期日期,现在我需要根据now()duedate 之间的比较来获取“今天到期”票。即 2010-04-29 02:002010-04-29 10:00 在这件事上会返回 true。

【问题讨论】:

    标签: mysql


    【解决方案1】:

    使用DATE(NOW()) 比较日期

    DATE(NOW()) 将为您提供当前日期的日期部分,DATE(duedate) 将为您提供到期日的日期部分。那么您可以轻松比较日期

    所以你可以像这样比较它

    DATE(NOW()) = DATE(duedate)
    

    DATE(duedate) = CURDATE() 
    

    here

    【讨论】:

    • @njk :是的,我正在努力改进。我可以知道为什么它很差吗?
    • 展示一个例子会有很大帮助。
    • 另外,您可以使用CURDATE() 代替DATE(NOW())
    • @user1918956 :考虑接受答案。乐于助人:)
    • 你能把它改成“今天到期”吗?即2010-04-29 02:002010-04-29 10:00 将返回true,2010-04-29 12:002010-04-29 10:00 将返回false。
    【解决方案2】:

    仅比较日期而不是日期 + 时间 (NOW) 与:

    CURDATE()
    

    【讨论】:

    • 为了让您的答案更有帮助并增加获得赞成票的机会,请提供使用该函数的完整查询示例以及指向该函数文档的链接。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-24
    • 2016-11-04
    • 1970-01-01
    • 2014-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多