Hvis du har brug for at beregne antallet af sekunder, der er gået siden en given dato og tid, kan du bruge UNIXEPOCH()
fungere.
Bemærk, at denne funktion blev introduceret i SQLite 3.38.0, så den virker kun, hvis du bruger SQLite 3.38.0 eller nyere.
Eksempel
Her er et eksempel til demonstration:
SELECT UNIXEPOCH() - UNIXEPOCH('2020-02-23 07:30:45');
Resultat:
64254554
I dette eksempel returnerede jeg antallet af sekunder siden 2020-02-23 07:30:45.
Det er klart, at antallet af sekunder vil være anderledes, hvis vi kører det igen senere:
SELECT UNIXEPOCH() - UNIXEPOCH('2020-02-23 07:30:45');
Resultat:
64254823
Antal sekunder siden månedens start
Her er et eksempel, der returnerer antallet af sekunder, der er gået siden starten af den aktuelle måned:
SELECT UNIXEPOCH() - UNIXEPOCH(DATETIME('now', 'start of month'));
Resultat:
605380
Her bruger vi DATETIME()
fungerer sammen med now
argument for at returnere den aktuelle dato og klokkeslæt. Og vi bruger også start of month
modifikator for at angive starten på måneden.
Det følgende eksempel udvider det foregående. Den viser de faktiske involverede datoer samt sekunderne mellem dem:
SELECT
DATETIME('now', 'start of month') AS "Start of Month",
DATETIME('now') AS "Now",
UNIXEPOCH() - UNIXEPOCH(DATETIME('now', 'start of month')) AS "Seconds";
Resultat:
Start of Month Now Seconds ------------------- ------------------- ------- 2022-03-01 00:00:00 2022-03-08 00:12:04 605524
Du kan også bruge start of day
og start of year
for at returnere sekunderne siden starten af dagen eller året.