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

TIMESTAMPDIFF() Przykłady – MySQL

MySQL TIMESTAMPDIFF() Funkcja służy do znajdowania różnicy między dwoma wyrażeniami daty lub daty i godziny. Musisz podać dwie wartości daty/daty/godziny, a także jednostkę używaną do określenia różnicy (np. dzień , miesiąc itp.). TIMESTAMPDIFF() funkcja zwróci wtedy różnicę w określonej jednostce.

Składnia

Po pierwsze, oto jak idzie składnia:

TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)

Tutaj, unit to jednostka używana do wyrażania różnicy (np. dzień, miesiąc, rok itp.). datetime_expr1 jest pierwszą wartością daty/daty/godziny, a datetime_expr2 jest drugi.

Ta funkcja odejmuje datetime_expr1 z datetime_expr2 i zwraca wynik w unit s. Wynik jest zwracany jako liczba całkowita.

Właściwe jednostki

unit argument może być jednym z następujących:

  • MICROSECOND
  •  SECOND
  • MINUTE
  • HOUR
  • DAY
  • WEEK
  • MONTH
  • QUARTER
  • YEAR

Przykład 1 – Różnica w dniach

Oto przykład demonstrujący podstawowe użycie tej funkcji. Tutaj porównujemy dwa wyrażenia daty i zwracamy różnicę między nimi w dniach.

SELECT 
  TIMESTAMPDIFF(DAY,'2022-02-01','2022-02-21')
  AS 'Difference in Days';

Wynik:

+--------------------+
| Difference in Days |
+--------------------+
|                 20 |
+--------------------+

Przykład 2 – Różnica w godzinach

W tym przykładzie porównujemy te same wartości, co w poprzednim przykładzie, z wyjątkiem tego, że zwracamy różnicę w godzinach .

SELECT 
  TIMESTAMPDIFF(HOUR,'2022-02-01','2022-02-21')
  AS 'Difference in Hours';

Wynik:

+---------------------+
| Difference in Hours |
+---------------------+
|                 480 |
+---------------------+

Przykład 3 – Przykład „data-godzina”

Oto przykład, który zwraca różnicę w minutach. W tym przypadku porównujemy dwie wartości daty i godziny (w przeciwieństwie do samych wartości daty, jak w poprzednich przykładach).

SELECT 
  TIMESTAMPDIFF(MINUTE,'2022-02-01 10:30:27','2022-02-01 10:45:27')
  AS 'Difference in Minutes';

Wynik:

+-----------------------+
| Difference in Minutes |
+-----------------------+
|                    15 |
+-----------------------+

Przykład 4 – ułamki sekund

W razie potrzeby możesz zejść z dokładnością do mikrosekundy (6 cyfr).

SELECT 
  TIMESTAMPDIFF(MICROSECOND,'2022-02-01 10:30:27.000000','2022-02-01 10:30:27.123456') 
  AS 'Difference in Microseconds';

Wynik:

+----------------------------+
| Difference in Microseconds |
+----------------------------+
|                     123456 |
+----------------------------+

Przykład 5 – Wyniki negatywne

Jak można się było spodziewać, jeśli pierwszy argument daty/czasu jest większy niż drugi, wynik będzie ujemną liczbą całkowitą.

SELECT 
  TIMESTAMPDIFF(DAY,'2022-02-21','2022-02-01')
  AS 'Difference in Days';

Wynik:

+--------------------+
| Difference in Days |
+--------------------+
|                -20 |
+--------------------+


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. O Neo4j

  2. Kiedy używać MongoDB lub innych systemów baz danych zorientowanych na dokumenty?

  3. Używasz LIMIT w GROUP BY, aby uzyskać N wyników na grupę?

  4. Jak zainstalować MySQL 8 w systemie Windows

  5. Jak działa funkcja TRIM() w MySQL