SQLite 3.38.0 è stato rilasciato il 2 febbraio 2022. Con esso sono stati apportati alcuni miglioramenti alle funzioni di data e ora.
Uno di questi miglioramenti è l'aggiunta di UNIXEPOCH()
funzione. Questa funzione restituisce un timestamp unix. Cioè, il numero di secondi da 1970-01-01 00:00:00 UTC.
Esempio
Ecco un rapido esempio da dimostrare:
SELECT UNIXEPOCH();
Risultato:
1646610077
Quindi, quando ho eseguito quell'esempio, c'erano stati 1646610077 secondi dal 1970-01-01 00:00:00 UTC.
La funzione restituisce sempre un numero intero, anche se il valore del tempo di input ha una precisione in millisecondi.
Questo equivale a fare quanto segue:
SELECT STRFTIME('%s');
Risultato:
1646610181
Ovviamente, ci sono stati alcuni secondi tra l'esecuzione dei due esempi precedenti, quindi non sono proprio la stessa cosa. Ma possiamo vedere che sono molto simili.
Ecco il risultato quando vengono eseguiti contemporaneamente:
SELECT
UNIXEPOCH(),
STRFTIME('%s');
Risultato:
UNIXEPOCH() STRFTIME('%s') ----------- -------------- 1646610290 1646610290
Esattamente lo stesso.