如何在 MySQL 上获取两个日期之间相差的天数?

2021-11-20 00:00:00 date mysql

我需要获取 MySQL 上几个日期中包含的天数.

I need to get the number of days contained within a couple of dates on MySQL.

例如:

  • 入住日期是 12-04-2010
  • 退房日期 15-04-2010

日差为 3.

推荐答案

DATEDIFF 函数?

What about the DATEDIFF function ?

引用手册页:

DATEDIFF() 返回 expr1 – expr2表示为从一开始的天数约会到另一个.expr1 和 expr2是日期或日期和时间表达式.只有值的日期部分是用于计算

DATEDIFF() returns expr1 – expr2 expressed as a value in days from one date to the other. expr1 and expr2 are date or date-and-time expressions. Only the date parts of the values are used in the calculation


在你的情况下,你会使用:


In your case, you'd use :

mysql> select datediff('2010-04-15', '2010-04-12');
+--------------------------------------+
| datediff('2010-04-15', '2010-04-12') |
+--------------------------------------+
|                                    3 | 
+--------------------------------------+
1 row in set (0,00 sec)

但请注意,日期应写为YYYY-MM-DD,而不是像您发布的那样DD-MM-YYYY.

But note the dates should be written as YYYY-MM-DD, and not DD-MM-YYYY like you posted.

相关文章