如何从两个不同的日期获得年份差异?

我想使用MySQL数据库从两个不同的日期获得年份差异。

例如:

  • 2011-07-20-2011-07-18 => 0年

  • 2011-07-20-2010-07-20 => 1年

  • 2011-06-15-2008-04-11 => 2 3年

  • 2011-06-11-2001-10-11 => 9年

SQL语法怎么样?MySQL有内置函数产生结果吗?


aluckdog
浏览 539回答 3
3回答

慕姐8265434

我喜欢Bohemian的解决方案,但是如何使用timestampdiffselect date1, date2,timestampdiff(YEAR,date2,date1) from so7749639似乎更容易。

慕哥6287543

mysql> SELECT FLOOR(DATEDIFF('2011-06-11','2001-10-11')/365);+------------------------------------------------+| FLOOR(DATEDIFF('2011-06-11','2001-10-11')/365) |+------------------------------------------------+|                                              9 |+------------------------------------------------+1 row in set (0.00 sec)DATEDIFF()返回两个日期之间的天数差。这并未特别考虑leap年,但在以下情况下可能会起作用:mysql> SELECT FLOOR(DATEDIFF('2007-07-11','2004-07-11')/365);+------------------------------------------------+| FLOOR(DATEDIFF('2007-07-11','2004-07-11')/365) |+------------------------------------------------+|                                              3 |+------------------------------------------------+1 row in set (0.00 sec)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

MySQL