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
.