sql >> Databáze >  >> RDS >> SQLite

2 způsoby, jak vrátit časové razítko Unix v SQLite

Unixové časové razítko je počet sekund od 1970-01-01 00:00:00 UTC. SQLite nám poskytuje několik způsobů, jak získat unixové časové razítko.

STRFTIME() Funkce

STRFTIME() funkce vrací hodnotu data a času v zadaném formátu. Můžeme použít náhradu řetězce formátu %s k vrácení počtu sekund od 1970-01-01 00:00:00 UTC (tj. unixové časové razítko):

SELECT STRFTIME('%s');

Výsledek:

1646695406

UNIXEPOCH() Funkce

UNIXEPOCH() funkce je speciálně navržena tak, aby vrátila unixové časové razítko. Tato funkce byla představena v SQLite 3.38.0 (vydáno 2. února 2022), takže bude fungovat pouze v případě, že používáte SQLite 3.38.0 nebo vyšší:

SELECT UNIXEPOCH();

Výsledek:

1646695411

Vidíme, že výsledky jsou podobné, ale je tu zjevně rozdíl kvůli množství času, který mi trvalo spuštění každého příkladu.

Kombinované

Pro jistotu jsou tu zase. Až na to, že je tentokrát spustím oba ve stejném SELECT prohlášení:

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

Výsledek:

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


  1. GroupingError:ERROR:sloupec se musí objevit v klauzuli GROUP BY nebo být použit v agregační funkci

  2. Oracle After Delete Trigger... Jak se vyhnout Mutující tabulce (ORA-04091)?

  3. Seskupení do intervalu 5 minut v časovém rozsahu

  4. Jak formátovat čísla se znaménkem mínus/plus v Oracle