sql >> Database teknologi >  >> RDS >> Mysql

TIMESTAMPDIFF() Eksempler – MySQL

MySQL TIMESTAMPDIFF() funktion bruges til at finde forskellen mellem to dato- eller datetime-udtryk. Du skal indtaste de to værdier for dato/dato/klokkeslæt samt den enhed, der skal bruges til at bestemme forskellen (f.eks. dag , måned , etc). TIMESTAMPDIFF() funktion vil så returnere forskellen i den angivne enhed.

Syntaks

For det første er syntaksen sådan her:

TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)

Her, unit er den enhed, der skal bruges til at udtrykke forskellen (f.eks. dag, måned, år osv.). datetime_expr1 er den første dato/datotidsværdi og datetime_expr2 er den anden.

Denne funktion trækker datetime_expr1 fra fra datetime_expr2 og returnerer resultatet i unit s. Resultatet returneres som et heltal.

Gyldige enheder

unit argumentet kan være et hvilket som helst af følgende:

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

Eksempel 1 – Forskel i dage

Her er et eksempel for at demonstrere den grundlæggende brug af denne funktion. Her sammenligner vi to datoudtryk og returnerer forskellen mellem dem i dage.

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

Resultat:

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

Eksempel 2 – Forskel i timer

I dette eksempel sammenligner vi de samme værdier som i det foregående eksempel, undtagen her returnerer vi forskellen i timer .

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

Resultat:

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

Eksempel 3 – Et 'datetime'-eksempel

Her er et eksempel, der returnerer forskellen i minutter. I dette tilfælde sammenligner vi to datetime-værdier (i modsætning til kun datoværdierne som i de foregående eksempler).

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

Resultat:

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

Eksempel 4 – Brøkdele sekunder

Du kan gå helt ned til mikrosekundet (6 cifre), hvis du har brug for det.

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

Resultat:

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

Eksempel 5 – Negative resultater

Som forventet, hvis det første dato/tidsargument er større end det andet, vil resultatet være et negativt heltal.

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

Resultat:

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


  1. Sådan beregnes forskellen mellem to datotider i T-SQL

  2. PostgreSQL on the Rise:2018 Postgres Funds &2019 Trends

  3. Laravel:opret forbindelse til databaser dynamisk

  4. Kan ikke installere pg gem på Mountain Lion