Wenn Sie die Anzahl der Sekunden berechnen müssen, die seit einem bestimmten Datum und einer bestimmten Uhrzeit vergangen sind, können Sie UNIXEPOCH()
verwenden Funktion.
Beachten Sie, dass diese Funktion in SQLite 3.38.0 eingeführt wurde und daher nur funktioniert, wenn Sie SQLite 3.38.0 oder höher verwenden.
Beispiel
Hier ist ein Beispiel zur Veranschaulichung:
SELECT UNIXEPOCH() - UNIXEPOCH('2020-02-23 07:30:45');
Ergebnis:
64254554
In diesem Beispiel habe ich die Anzahl der Sekunden seit 2020-02-23 07:30:45 zurückgegeben.
Offensichtlich wird die Anzahl der Sekunden anders sein, wenn wir es später noch einmal ausführen:
SELECT UNIXEPOCH() - UNIXEPOCH('2020-02-23 07:30:45');
Ergebnis:
64254823
Anzahl Sekunden seit Monatsbeginn
Hier ist ein Beispiel, das die Anzahl der Sekunden zurückgibt, die seit Beginn des aktuellen Monats vergangen sind:
SELECT UNIXEPOCH() - UNIXEPOCH(DATETIME('now', 'start of month'));
Ergebnis:
605380
Hier verwenden wir das DATETIME()
Funktion zusammen mit dem now
-Argument, um das aktuelle Datum und die Uhrzeit zurückzugeben. Und wir verwenden auch den start of month
Modifikator, um den Beginn des Monats anzugeben.
Das folgende Beispiel erweitert das vorherige. Es zeigt die tatsächlich beteiligten Daten sowie die Sekunden dazwischen:
SELECT
DATETIME('now', 'start of month') AS "Start of Month",
DATETIME('now') AS "Now",
UNIXEPOCH() - UNIXEPOCH(DATETIME('now', 'start of month')) AS "Seconds";
Ergebnis:
Start of Month Now Seconds ------------------- ------------------- ------- 2022-03-01 00:00:00 2022-03-08 00:12:04 605524
Sie können auch start of day
verwenden und start of year
um die Sekunden seit Beginn des Tages oder Jahres zurückzugeben.