SQLite
 sql >> Database >  >> RDS >> SQLite

2 modi per restituire il timestamp Unix in SQLite

Il timestamp unix è il numero di secondi trascorsi dal 1970-01-01 00:00:00 UTC. SQLite ci fornisce un paio di modi per ottenere il timestamp di Unix.

Il STRFTIME() Funzione

Il STRFTIME() La funzione restituisce un valore di data e ora nel formato specificato. Possiamo usare la sostituzione della stringa di formato %s per restituire il numero di secondi da 1970-01-01 00:00:00 UTC (ovvero il timestamp unix):

SELECT STRFTIME('%s');

Risultato:

1646695406

Il UNIXEPOCH() Funzione

Il UNIXEPOCH() la funzione è specificamente progettata per restituire il timestamp a unix. Questa funzione è stata introdotta in SQLite 3.38.0 (rilasciato il 2 febbraio 2022), quindi funzionerà solo se stai utilizzando SQLite 3.38.0 o versioni successive:

SELECT UNIXEPOCH();

Risultato:

1646695411

Possiamo vedere che i risultati sono simili, ma ovviamente c'è una differenza a causa del tempo impiegato per eseguire ciascun esempio.

Combinato

Per sicurezza, eccoli di nuovo qui. Tranne che questa volta li eseguo entrambi all'interno dello stesso SELECT dichiarazione:

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

Risultato:

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