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

Pobierz pierwszy, drugi, trzeci lub czwarty poniedziałek miesiąca w SQLite

Możemy użyć funkcji DATE() SQLite'a funkcja do wykonania obliczeń w określonym dniu. Jedną z rzeczy, które możemy zrobić, jest zwrócenie pierwszego, drugiego, trzeciego lub czwartego wystąpienia danego dnia w danym miesiącu.

Przykład

Oto przykład do zademonstrowania:

SELECT 
    DATE('2025-10-20', 'start of month', 'weekday 1') AS "First",
    DATE('2025-10-20', 'start of month', '+7 days', 'weekday 1') AS "Second",
    DATE('2025-10-20', 'start of month', '+14 days', 'weekday 1') AS "Third",
    DATE('2025-10-20', 'start of month', '+21 days', 'weekday 1') AS "Fourth",
    DATE('2025-10-20', 'start of month', '+28 days', 'weekday 1') AS "Fifth";

Wynik:

First       Second      Third       Fourth      Fifth     
----------  ----------  ----------  ----------  ----------
2025-10-06  2025-10-13  2025-10-20  2025-10-27  2025-11-03

W tym przykładzie data rozpoczęcia jest taka sama dla wszystkich wystąpień, jak również dla większości argumentów. Jedyną rzeczą, która się zmienia, jest to, ile dodamy na początku miesiąca. Jeśli nic nie dodamy, możemy zwrócić w pierwszy poniedziałek, dodanie 7 dni zwraca w drugi poniedziałek i tak dalej.

Tutaj używamy start of month aby przywrócić datę do pierwszego dnia miesiąca. Następnie używamy więcej modyfikatorów, aby odpowiednio zmodyfikować tę datę.

weekday 1 modyfikator przesuwa datę do przodu na następny poniedziałek (niedziela to 0, poniedziałek to 1, wtorek to 2 itd.).

Aby uzyskać drugi poniedziałek, możemy użyć +7 days przesunąć datę do przodu o tydzień. Na kolejne poniedziałki dodajemy do tej liczby 7 dni (+14 days , +21 days , +28 days itp).

Widzimy również, że dodanie 28 dni zwraca pierwszy poniedziałek następnego miesiąca.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Funkcja SQLite Like() z przykładami

  2. Sortowanie dat w bazie sqlite?

  3. Czy możliwa jest migracja z Realm do Sqlite?

  4. Jak przekonwertować milisekundy do daty w SQLite

  5. Błąd bazy danych SQLite, niepomocny dziennik