sql >> Databasteknik >  >> RDS >> SQLite

2 sätt att returnera Unix-tidsstämpeln i SQLite

Unix-tidsstämpeln är antalet sekunder sedan 1970-01-01 00:00:00 UTC. SQLite ger oss ett par sätt att få unix-tidsstämpeln.

STRFTIME() Funktion

STRFTIME() funktion returnerar ett datum- och tidsvärde i det angivna formatet. Vi kan använda %s-formatsträngsersättningen för att returnera antalet sekunder sedan 1970-01-01 00:00:00 UTC (d.v.s. unix-tidsstämpeln):

SELECT STRFTIME('%s');

Resultat:

1646695406

UNIXEPOCH() Funktion

UNIXEPOCH() funktionen är speciellt utformad för att returnera en unix-tidsstämpel. Den här funktionen introducerades i SQLite 3.38.0 (släpptes 2 februari 2022), så den fungerar bara om du använder SQLite 3.38.0 eller högre:

SELECT UNIXEPOCH();

Resultat:

1646695411

Vi kan se att resultaten är likartade, men det finns uppenbarligen en skillnad på grund av hur lång tid det tog mig att köra varje exempel.

Kombinerat

Bara för att vara säker, här är de igen. Förutom att den här gången kör jag båda inom samma SELECT uttalande:

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

Resultat:

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


  1. 12c Adaptiva planer i SQL-utvecklare

  2. Hur man skapar en sammansatt primär nyckel i MySQL

  3. TRANSLATE(… ANVÄNDER) Funktion i Oracle

  4. Fixa "ERROR 1054 (42S22):Okänd kolumn "colname" i "order clause" i MariaDB