Si vous avez besoin de calculer le nombre de secondes qui se sont écoulées depuis une date et une heure données, vous pouvez utiliser le UNIXEPOCH()
une fonction.
Notez que cette fonction a été introduite dans SQLite 3.38.0, elle ne fonctionnera donc que si vous utilisez SQLite 3.38.0 ou une version ultérieure.
Exemple
Voici un exemple pour illustrer :
SELECT UNIXEPOCH() - UNIXEPOCH('2020-02-23 07:30:45');
Résultat :
64254554
Dans cet exemple, j'ai renvoyé le nombre de secondes depuis le 2020-02-23 07:30:45.
Évidemment, le nombre de secondes sera différent si nous le réexécutons plus tard :
SELECT UNIXEPOCH() - UNIXEPOCH('2020-02-23 07:30:45');
Résultat :
64254823
Nombre de secondes depuis le début du mois
Voici un exemple qui renvoie le nombre de secondes écoulées depuis le début du mois en cours :
SELECT UNIXEPOCH() - UNIXEPOCH(DATETIME('now', 'start of month'));
Résultat :
605380
Ici, nous utilisons le DATETIME()
fonction avec now
argument pour renvoyer la date et l'heure actuelles. Et nous utilisons également le start of month
modificateur pour spécifier le début du mois.
L'exemple suivant développe le précédent. Il affiche les dates réelles impliquées, ainsi que les secondes entre elles :
SELECT
DATETIME('now', 'start of month') AS "Start of Month",
DATETIME('now') AS "Now",
UNIXEPOCH() - UNIXEPOCH(DATETIME('now', 'start of month')) AS "Seconds";
Résultat :
Start of Month Now Seconds ------------------- ------------------- ------- 2022-03-01 00:00:00 2022-03-08 00:12:04 605524
Vous pouvez également utiliser start of day
et start of year
pour retourner les secondes depuis le début du jour ou de l'année.