【问题标题】:Calculate difference between two dates in mysql to show years and months计算mysql中两个日期之间的差异以显示年份和月份
【发布时间】:2015-08-28 07:42:22
【问题描述】:

如何在 mysql 查询中计算两个日期(当前日期和数据库中存储的日期)之间的差异,以给出年份和月份的结果。

假设有两个日期 - 2014-01-012015-12-28,那么我希望结果显示为 1.11 years。我该怎么做?

现在我正在使用round(datediff(curdate(),e.joined_date)/365,它可以让我在几年内获得价值。

请帮忙。

【问题讨论】:

  • 为什么不使用timestampdiff函数?
  • 1.11 年会令人困惑。我猜“11”代表 11 个月,但当我阅读 1.11 时,我会认为它是 1 年和大约十分之一年。也许“1 年 11 个月”会更好?
  • @AbhikChakraborty - 它会给出类似于我在我的问题中提出的结果,即 1.11 年在一列中吗?
  • @igorshmigor - 是的,你是对的。这是1年11个月。但是我该怎么做呢?

标签: mysql date


【解决方案1】:

像这样使用TIMESTAMPDIFF

SELECT CONCAT(TIMESTAMPDIFF(YEAR, '2014-06-01', '2015-08-01'), '.', TIMESTAMPDIFF(MONTH, '2014-06-01', '2015-08-01')-(TIMESTAMPDIFF(YEAR, '2014-06-01', '2015-08-01') * 12)) AS diff

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-27
    • 1970-01-01
    • 2014-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-19
    相关资源
    最近更新 更多