SQLite 3.38.0 se lanzó el 2 de febrero de 2022. Con él llegaron algunas mejoras en las funciones de fecha y hora.
Una de esas mejoras es la adición de UNIXEPOCH()
función. Esta función devuelve una marca de tiempo de Unix. Es decir, el número de segundos desde 1970-01-01 00:00:00 UTC.
Ejemplo
Aquí hay un ejemplo rápido para demostrar:
SELECT UNIXEPOCH();
Resultado:
1646610077
Entonces, cuando ejecuté ese ejemplo, había 1646610077 segundos desde 1970-01-01 00:00:00 UTC.
La función siempre devuelve un número entero, incluso si el valor de tiempo de entrada tiene una precisión de milisegundos.
Esto es equivalente a hacer lo siguiente:
SELECT STRFTIME('%s');
Resultado:
1646610181
Obviamente, hubo unos segundos entre la ejecución de los dos ejemplos anteriores, por lo que no son exactamente iguales. Pero podemos ver que son muy similares.
Este es el resultado cuando se ejecutan al mismo tiempo:
SELECT
UNIXEPOCH(),
STRFTIME('%s');
Resultado:
UNIXEPOCH() STRFTIME('%s') ----------- -------------- 1646610290 1646610290
Exactamente igual.