SQLite
 sql >> Baza danych >  >> RDS >> SQLite

Oblicz liczbę sekund od określonej daty/godziny w SQLite

Jeśli chcesz obliczyć liczbę sekund, które upłynęły od podanej daty i godziny, możesz użyć funkcji UNIXEPOCH() funkcjonować.

Zauważ, że ta funkcja została wprowadzona w SQLite 3.38.0, więc będzie działać tylko wtedy, gdy używasz SQLite 3.38.0 lub nowszego.

Przykład

Oto przykład do zademonstrowania:

SELECT UNIXEPOCH() - UNIXEPOCH('2020-02-23 07:30:45');

Wynik:

64254554

W tym przykładzie zwróciłem liczbę sekund od 23.02.2020 r. 07:30:45.

Oczywiście liczba sekund będzie inna, jeśli uruchomimy go ponownie później:

SELECT UNIXEPOCH() - UNIXEPOCH('2020-02-23 07:30:45');

Wynik:

64254823

Liczba sekund od początku miesiąca

Oto przykład, który zwraca liczbę sekund, które minęły od początku bieżącego miesiąca:

SELECT UNIXEPOCH() - UNIXEPOCH(DATETIME('now', 'start of month'));

Wynik:

605380

Tutaj używamy DATETIME() funkcja wraz z now argument, aby zwrócić bieżącą datę i godzinę. Używamy również start of month modyfikator, aby określić początek miesiąca.

Poniższy przykład jest rozwinięciem poprzedniego. Pokazuje rzeczywiste daty, a także sekundy między nimi:

SELECT 
    DATETIME('now', 'start of month') AS "Start of Month",
    DATETIME('now') AS "Now",
    UNIXEPOCH() - UNIXEPOCH(DATETIME('now', 'start of month')) AS "Seconds";

Wynik:

Start of Month       Now                  Seconds
-------------------  -------------------  -------
2022-03-01 00:00:00  2022-03-08 00:12:04  605524 

Możesz także użyć start of day i start of year aby zwrócić sekundy od początku dnia lub roku.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tworzenie wielotabelowych baz danych Android SQLite

  2. Grupuj SQLite według/licz godziny, dni, tygodnie, rok

  3. Wyjaśnienie SQLite SUBSTRING()

  4. Jak pobrać dane z bazy danych i wyświetlić je jako ListView?

  5. Poprawne modyfikatory dla funkcji daty/czasu SQLite