How to get the number of days of difference between two dates on mysql?

Audel picture Audel · Mar 22, 2010 · Viewed 203k times · Source

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

For example:

  • Check in date is 12-04-2010
  • Check out date 15-04-2010

The day difference would be 3

Answer

Pascal MARTIN picture Pascal MARTIN · Mar 22, 2010

What about the DATEDIFF function ?

Quoting the manual's page :

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)

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