Når du arbejder med MySQL, kan du bruge TIME() funktion til at udtrække tidsdelen fra en klokkeslæt eller datetime-værdi.
Måden det fungerer på er, at du sender time/datetime-udtrykket ind som et argument og TIME() returnerer tidsdelen.
Syntaks
Syntaksen ser sådan ud:
TIME(expr)
Hvor expr er det tidspunkt/dato/tidsudtryk, som du vil have tidsdelen udtrukket fra.
Grundlæggende eksempel
Her er et eksempel, der bruger en datetime-værdi.
SELECT TIME('2021-01-03 11:15:45');
Resultat:
+-----------------------------+
| TIME('2021-01-03 11:15:45') |
+-----------------------------+
| 11:15:45 |
+-----------------------------+
Brøksekunder
Her er et eksempel, hvor datetime-værdien også indeholder en brøkdel af sekunder.
SELECT TIME('2021-01-03 11:15:45.123456');
Resultat:
+------------------------------------+
| TIME('2021-01-03 11:15:45.123456') |
+------------------------------------+
| 11:15:45.123456 |
+------------------------------------+
Udladelse af sekunddelen
Her er et eksempel, hvor sekunddelen er udeladt fra startværdien.
SELECT TIME('2021-01-03 11:15');
Resultat:
+--------------------------+
| TIME('2021-01-03 11:15') |
+--------------------------+
| 11:15:00 |
+--------------------------+
I dette tilfælde returneres sekunddelen stadig, selvom den blev udeladt fra startværdien.
Udtrækning af tiden fra en "tidsværdi"
Som nævnt kan det første argument være en tidsværdi i sig selv (dvs. det behøver ikke at være en datetime-værdi).
SELECT TIME('11:15');
Resultat:
+---------------+
| TIME('11:15') |
+---------------+
| 11:15:00 |
+---------------+
Udsagnsbaseret replikering – Advarsel
MySQL-dokumentationen angiver følgende om TIME() funktion:
Denne funktion er usikker til sætningsbaseret replikering. En advarsel logges, hvis du bruger denne funktion, når binlog_format er indstillet til STATEMENT .