sql >> Base de Datos >  >> RDS >> SQLite

2 formas de devolver la marca de tiempo de Unix en SQLite

La marca de tiempo de Unix es el número de segundos desde 1970-01-01 00:00:00 UTC. SQLite nos proporciona un par de formas de obtener la marca de tiempo de Unix.

El STRFTIME() Función

El STRFTIME() La función devuelve un valor de fecha y hora en el formato especificado. Podemos usar la sustitución de cadena de formato %s para devolver el número de segundos desde 1970-01-01 00:00:00 UTC (es decir, la marca de tiempo de Unix):

SELECT STRFTIME('%s');

Resultado:

1646695406

El UNIXEPOCH() Función

El UNIXEPOCH() La función está diseñada específicamente para devolver la marca de tiempo de unix. Esta función se introdujo en SQLite 3.38.0 (lanzado el 2 de febrero de 2022), por lo que solo funcionará si usa SQLite 3.38.0 o superior:

SELECT UNIXEPOCH();

Resultado:

1646695411

Podemos ver que los resultados son similares, pero obviamente hay una diferencia debido a la cantidad de tiempo que me llevó ejecutar cada ejemplo.

Combinado

Solo para estar seguros, aquí están de nuevo. Excepto que esta vez los ejecuto en el mismo SELECT declaración:

SELECT 
    UNIXEPOCH(),
    STRFTIME('%s');

Resultado:

UNIXEPOCH()  STRFTIME('%s')
-----------  --------------
1646695558   1646695558