sql >> Databasteknik >  >> RDS >> Mysql

DATEDIFF() Exempel – MySQL

I MySQL kan du använda DATEDIFF() funktion för att hitta skillnaden mellan två datum. Så det fungerar är att du tillhandahåller två argument (ett för varje datum) och DATEDIFF() returnerar antalet dagar mellan de två datumen.

Exempel nedan.

Syntax

Först, här är syntaxen:

DATEDIFF(expr1,expr2)

Där expr1 är det första datumet och expr2 är den andra dejten.

Exempel 1 – Grundläggande användning

Här är ett exempel att visa.

SELECT DATEDIFF('2020-10-30', '2020-10-01') AS 'Result';

Resultat:

+--------+
| Result |
+--------+
|     29 |
+--------+

I det här exemplet är det första datumet senare än det andra datumet. I det här fallet får vi ett positivt returvärde.

Exempel 2 – Jämförelse med ett tidigare datum

Det första datumet behöver inte vara ett senare datum än det andra. Du kan använda ett tidigare datum för det första argumentet och det kommer att returnera ett negativt värde. Om vi ​​byter om de två argumenten får vi följande:

SELECT DATEDIFF('2020-10-01', '2020-10-30') AS 'Result';

Resultat:

+--------+
| Result |
+--------+
|    -29 |
+--------+

Exempel 3 – Datetime-värden

När den används med datetime värden används endast datumdelen för att jämföra datumen. Exempel:

SELECT 
  DATEDIFF('2020-10-30 23:59:59', '2020-10-01') AS 'Result 1',
  DATEDIFF('2020-10-01 23:59:59', '2020-10-30') AS 'Result 2';

Resultat:

+----------+----------+
| Result 1 | Result 2 |
+----------+----------+
|       29 |      -29 |
+----------+----------+

Exempel 4 – Databasfråga

Här är ett exempel på hur du använder DATEDIFF() i en databasfråga. I det här exemplet jämför jag payment_date kolumn med dagens datum (genom att använda CURDATE() funktion för att returnera dagens datum):

USE sakila;
SELECT
  DATE(payment_date) AS 'Date/Time',
  CURDATE(),
  DATEDIFF(payment_date, CURDATE()) AS 'Date'
FROM payment
WHERE payment_id = 1;

Resultat:

+------------+------------+-------+
| Date/Time  | CURDATE()  | Date  |
+------------+------------+-------+
| 2005-05-25 | 2018-06-25 | -4779 |
+------------+------------+-------+


  1. Returnera alla rader från en specifik partition i SQL Server (T-SQL)

  2. Använda Oracle JDeveloper 12c med Oracle Database 12c på Oracle Cloud Platform, del 1

  3. Hur man hanterar sessioner i Node.js med Passport, Redis och MySQL

  4. NAME_IN inbyggt i Oracle D2k Forms