sql >> Database >  >> RDS >> SQLite

Haal de eerste, tweede, derde of vierde maandag van een maand in SQLite

We kunnen SQLite's DATE() . gebruiken functie om berekeningen op een bepaalde datum uit te voeren. Een van de dingen die we kunnen doen is de eerste, tweede, derde of vierde instantie van een bepaalde dag binnen een bepaalde maand retourneren.

Voorbeeld

Hier is een voorbeeld om te demonstreren:

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";

Resultaat:

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

In dit voorbeeld is de begindatum voor alle instanties hetzelfde, evenals voor de meeste argumenten. Het enige dat verandert, is hoeveel we aan het begin van de maand toevoegen. Als we niets toevoegen, kunnen we de eerste maandag retourneren, 7 dagen retourneren op de tweede maandag, enzovoort.

Hier gebruiken we start of month om de datum terug te zetten naar de eerste dag van de maand. We gebruiken dan meer modifiers om die datum dienovereenkomstig aan te passen.

De weekday 1 modifier verplaatst de datum vooruit naar de volgende maandag (zondag is 0, maandag is 1, dinsdag is 2, enzovoort).

Om de tweede maandag te krijgen kunnen we +7 days . gebruiken om de datum een ​​week vooruit te zetten. Voor volgende maandagen tellen we 7 dagen bij dat aantal op (+14 days , +21 days , +28 days enz.).

We kunnen ook zien dat het toevoegen van 28 dagen de eerste maandag van de volgende maand terugkomt.


  1. PostgreSQL-datumtypen en -functies begrijpen (door voorbeelden)

  2. Hoe SQL Server op een Mac te installeren

  3. Een gebruiker maken in Oracle Multitenant 12c zonder C##-voorvoegsel

  4. Gebruik FILE_NAME() om de logische bestandsnaam te retourneren voor een gegeven bestands-ID in SQL Server