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

Zwróć koniec miesiąca w SQLite

W SQLite możemy użyć następującej metody do obliczenia ostatniego dnia danego miesiąca.

Możemy to oprzeć na bieżącej dacie lub innej konkretnej dacie.

Ostatni dzień bieżącego miesiąca

Oto przykład, który zwraca ostatni dzień bieżącego miesiąca:

SELECT DATE('now', 'start of month', '+1 month', '-1 day');

Wynik:

2022-03-31

Używa DATE() funkcja, aby zwrócić wyniki, które chcemy. 'now' argument zwraca bieżącą datę i 'start of month' argument modyfikuje go na początek miesiąca. Następnie używamy '+1 month' aby dodać miesiąc do początku miesiąca (co przesunęłoby go do przodu na początek następnego miesiąca), następnie zmniejszamy tę datę o jeden dzień (aby cofnąć ją do końca pierwszego miesiąca).

Ostatni dzień określonego miesiąca

Ale jak wspomniano, nie ograniczamy się do końca bieżącego miesiąca. Możemy określić dowolną datę, a zwróci koniec miesiąca na podstawie tej daty.

Oto kilka przykładów:

SELECT 
    DATE('2023-02-10', 'start of month', '+1 month', '-1 day') AS Feb,
    DATE('2023-11-10', 'start of month', '+1 month', '-1 day') AS Nov,
    DATE('2023-12-10', 'start of month', '+1 month', '-1 day') AS Dec;

Wynik:

Feb         Nov         Dec       
----------  ----------  ----------
2023-02-28  2023-11-30  2023-12-31

Widzimy, że SQLite jest wystarczająco inteligentny, aby obliczyć, ile dni przypada na każdy miesiąc. Kiedy używamy '+1 month' , SQLite wie, ile dni przypada na każdy miesiąc. Widzimy, że luty ma 28 dni, 30 listopada, a grudzień 31.

Jeśli przesuniemy pierwotną datę do przodu na rok 2024, zobaczymy, że luty ma w tym roku 29 dni:

SELECT 
    DATE('2024-02-10', 'start of month', '+1 month', '-1 day') AS Feb,
    DATE('2024-11-10', 'start of month', '+1 month', '-1 day') AS Nov,
    DATE('2024-12-10', 'start of month', '+1 month', '-1 day') AS Dec;

Wynik:

Feb         Nov         Dec       
----------  ----------  ----------
2024-02-29  2024-11-30  2024-12-31

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Przypisywanie tabel za pomocą bazy danych Room w Android Studio

  2. Dodaj dni do daty w SQLite

  3. Baza danych SQLite wyświetla ostrzeżenie o automatycznym indeksowaniu <nazwa_tabeli>(kolumna) Po aktualizacji Androida L

  4. Jak przyciąć ciąg w SQLite

  5. Indeks SQLite