Mysql
 sql >> Baza danych >  >> RDS >> Mysql

DATEDIFF() Przykłady – MySQL

W MySQL możesz użyć DATEDIFF() funkcja, aby znaleźć różnicę między dwiema datami. Działa to tak, że podajesz dwa argumenty (po jednym dla każdej daty) i DATEDIFF() zwróci liczbę dni między dwiema datami.

Przykłady poniżej.

Składnia

Po pierwsze, oto składnia:

DATEDIFF(expr1,expr2)

Gdzie expr1 to pierwsza data, a expr2 to druga randka.

Przykład 1 – Podstawowe użycie

Oto przykład do zademonstrowania.

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

Wynik:

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

W tym przykładzie pierwsza data jest późniejsza niż druga data. W tym przypadku otrzymujemy dodatnią wartość zwrotu.

Przykład 2 – Porównanie z wcześniejszą datą

Pierwsza randka nie musi być późniejsza niż druga randka. Możesz użyć wcześniejszej daty dla pierwszego argumentu, a zwróci on wartość ujemną. Jeśli zamienimy te dwa argumenty, otrzymamy:

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

Wynik:

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

Przykład 3 – Wartości daty i godziny

W przypadku użycia z datetime wartości, tylko część daty jest używana do porównywania dat. Przykład:

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';

Wynik:

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

Przykład 4 – Zapytanie do bazy danych

Oto przykład użycia DATEDIFF() w zapytaniu do bazy danych. W tym przykładzie porównuję payment_date kolumna z dzisiejszą datą (za pomocą CURDATE() funkcja zwracająca dzisiejszą datę):

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

Wynik:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Buddy — internetowe narzędzie administracyjne MySQL

  2. Praca z wyzwalaczami w bazie danych MySQL — samouczek

  3. MySQL - wybierz dane z bazy danych pomiędzy dwiema datami

  4. Nieznana kolumna w miejscu klauzuli

  5. Jak sprawdzić, czy wartość jest liczbą całkowitą w MySQL?