【问题标题】:Compare date to today's date and return number of days将日期与今天的日期进行比较并返回天数
【发布时间】:2014-02-13 09:00:33
【问题描述】:

我正在使用 MySQL。

我正在尝试将日期时间字段中的日期与今天的日期进行比较并返回天数差异 [即今天 - 列 = 没有。天]

这可能吗?我该怎么做?

【问题讨论】:

    标签: mysql sql datetime


    【解决方案1】:

    我认为我们需要您提供更多信息,例如您正在使用的查询以及到目前为止您尝试过的内容,但也许这可以帮助您:

    SELECT 
        DATEDIFF('2014-02-20 00:00:00', NOW()); //return 7
    

    在这种情况下,您应该添加一个“FROM 表”并将此查询中的日期替换为datetime 列。像这样的:

    SELECT 
        DATEDIFF(datetimefield, NOW())
    FROM
        tablename
    

    【讨论】:

    • 谢谢,所有这些答案都有效,因为它们都是一样的!最后必须为 DateDiff 使用三个参数: SELECT DATEDIFF(day, column_name, GetDate()) AS column_name FROM table
    【解决方案2】:

    您可以尝试使用 DATEDIFF 功能

    SELECT DATEDIFF(NOW(), date_column)
    

    它应该返回从现在到您的列之间的天数。

    【讨论】:

    • 酷 - 我现在收到错误 NOW() is not an inbuilt function。我应该/可以使用其他功能吗?
    • 使用了 GetDate 但它说 DateDiff 需要三个参数?
    • 你在使用 MySQL 吗?应该有两个功能可用。
    【解决方案3】:

    您必须使用DATEDIFF

    DATEDIFF(expr1,expr2)

    DATEDIFF() 返回 expr1 – expr2,表示为从一个日期到另一个日期的天数。 expr1 和 expr2 是日期或日期和时间表达式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-03-12
      • 2012-05-10
      • 2014-11-03
      • 1970-01-01
      • 1970-01-01
      • 2013-04-06
      • 1970-01-01
      相关资源
      最近更新 更多