Quando lavori con MySQL, puoi usare TIME()
funzione per estrarre la parte temporale da un valore di ora o data e ora.
Il modo in cui funziona è passare l'espressione time/datetime come argomento e TIME()
restituirà la parte temporale.
Sintassi
La sintassi è questa:
TIME(expr)
Dove expr
è l'espressione ora/data/ora da cui desideri estrarre la parte temporale.
Esempio di base
Ecco un esempio che utilizza un valore datetime.
SELECT TIME('2021-01-03 11:15:45');
Risultato:
+-----------------------------+ | TIME('2021-01-03 11:15:45') | +-----------------------------+ | 11:15:45 | +-----------------------------+
Secondi frazionari
Ecco un esempio in cui il valore datetime contiene anche una parte di secondi frazionari.
SELECT TIME('2021-01-03 11:15:45.123456');
Risultato:
+------------------------------------+ | TIME('2021-01-03 11:15:45.123456') | +------------------------------------+ | 11:15:45.123456 | +------------------------------------+
Omissione della seconda parte
Ecco un esempio in cui la parte dei secondi viene omessa dal valore iniziale.
SELECT TIME('2021-01-03 11:15');
Risultato:
+--------------------------+ | TIME('2021-01-03 11:15') | +--------------------------+ | 11:15:00 | +--------------------------+
In questo caso, la parte dei secondi viene comunque restituita, anche se è stata omessa dal valore iniziale.
Estrarre il tempo da un valore 'tempo'
Come accennato, il primo argomento può essere un valore di tempo stesso (cioè non deve essere un valore datetime).
SELECT TIME('11:15');
Risultato:
+---------------+ | TIME('11:15') | +---------------+ | 11:15:00 | +---------------+
Replica basata su istruzioni – Avviso
La documentazione di MySQL afferma quanto segue riguardo a TIME()
funzione:
Questa funzione non è sicura per la replica basata su istruzioni. Viene registrato un avviso se utilizzi questa funzione quando binlog_format
è impostato su STATEMENT
.