SQLite
 sql >> Base de Dados >  >> RDS >> SQLite

2 maneiras de retornar o carimbo de data/hora do Unix no SQLite


O timestamp unix é o número de segundos desde 1970-01-01 00:00:00 UTC. O SQLite nos fornece algumas maneiras de obter o timestamp unix.

O STRFTIME() Função


O STRFTIME() A função retorna um valor de data e hora no formato especificado. Podemos usar a substituição de string de formato %s para retornar o número de segundos desde 1970-01-01 00:00:00 UTC (ou seja, o timestamp unix):
SELECT STRFTIME('%s');

Resultado:
1646695406

O UNIXEPOCH() Função


O UNIXEPOCH() A função é projetada especificamente para retornar o timestamp unix. Esta função foi introduzida no SQLite 3.38.0 (lançado em 2 de fevereiro de 2022), então só funcionará se você estiver usando o SQLite 3.38.0 ou superior:
SELECT UNIXEPOCH();

Resultado:
1646695411

Podemos ver que os resultados são semelhantes, mas obviamente há uma diferença devido à quantidade de tempo que levei para executar cada exemplo.

Combinado


Só para ter certeza, aqui estão eles novamente. Exceto, desta vez eu executo os dois dentro do mesmo SELECT demonstração:
SELECT 
    UNIXEPOCH(),
    STRFTIME('%s');

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