sql >> Database teknologi >  >> RDS >> SQLite

Beregn antallet af sekunder siden en bestemt dato/klokkeslæt i SQLite

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.


  1. Forståelse af transaktioner i SQL

  2. Er Google Data Analytics Professional-certifikatet det værd?

  3. SQL-datoformat:Sådan håndteres det på den smarte måde

  4. Sådan starter du PostgreSQL Server på Mac OS X via Homebrew