Můžeme použít DATE()
SQLite funkce vrátit první pondělí každého měsíce pro daný rok na základě námi poskytnutého data.
Ale není to omezeno na pondělí. Můžeme také získat první úterý, středu, čtvrtek, pátek atd. každého měsíce.
Příklad
Alternativně můžeme použít kód jako je následující k vrácení prvního pondělí každého měsíce v průběhu roku:
SELECT DATE('2025-10-20', 'začátek roku', 'pracovní den 1') JAKO "Leden", DATE('2025-10-20', 'začátek roku', ' +1 měsíc', 'pracovní den 1') JAKO "Únor", DATE('2025-10-20', 'začátek roku', '+2 měsíce', 'pracovní den 1') JAKO "březen", DATE(' 2025-10-20', 'začátek roku', '+3 měsíce', 'pracovní den 1') JAKO "Apr", DATE('2025-10-20', 'začátek roku', '+4 měsíce' , 'pracovní den 1') JAKO "květen", DATE('2025-10-20', 'začátek roku', '+5 měsíců', 'pracovní den 1') JAKO "červen", DATE('2025-10- 20', 'začátek roku', '+6 měsíců', 'pracovní den 1') JAKO "Červec", DATE('2025-10-20', 'začátek roku', '+7 měsíců', 'pracovní den 1' ') JAKO "Aug", DATE('2025-10-20', 'začátek roku', '+8 měsíců', 'pracovní den 1') AS "Sep", DATE('2025-10-20', ' začátek roku', '+9 měsíců', 'pracovní den 1') AS "říjen", DATE('2025-10-20', 'začátek roku', '+10 měsíců', 'pracovní den 1') AS " Nov", DATE('2025-10-20', 'začátek roku', '+11 měsíců', 'pracovní den 1') AS "Prosinec";
Výsledek:
leden únor březen dub květen červen červenec srpen září říjen listopad prosinec ---------- ---------- ---------- ----- ----- ---------- ---------- ---------- ---------- ----- ----- ---------- ---------- ----------2025-01-06 2025-02-03 2025-03-03 2025-04-07 2025-05-05 2025-06-02 2025-07-07 2025-08-04 2025-09-01 2025-10-06 2025-11-03 2025-pre12-Zde nazýváme
DATE()
fungovat dvanáctkrát. Pokaždé používáme stejné datum a většina argumentů je stejná. Jediné, co se mění, je, kolik přidáme do začátku roku.Používáme
začátek roku
vrátit datum zpět na první den v roce. Poté použijeme další modifikátory, abychom toto datum odpovídajícím způsobem upravili.Když k datu nepřidáme žádné měsíce, vrátíme první pondělí v lednu. Přidávání
+1 měsíc
vrací první pondělí v únoru atd.
1. den v týdnu
modifikátor posouvá datum dopředu na další pondělí. Neděle je 0, pondělí je 1, úterý je 2 a tak dále, takže pokud bychom chtěli například úterý, použili bychompracovní den 2
místo toho.Použití aktuálního data
Následující příklad používá aktuální datum:
SELECT DATE('nyní') AS "Nyní", DATE('nyní', 'začátek roku', 'pracovní den 1') JAKO "Leden", DATE('nyní', 'začátek roku ', '+1 měsíc', 'pracovní den 1') JAKO "Únor", DATE('nyní', 'začátek roku', '+2 měsíce', 'pracovní den 1') JAKO "březen", DATE('nyní ', 'začátek roku', '+3 měsíce', 'pracovní den 1') JAKO "Duben", DATE('nyní', 'začátek roku', '+4 měsíce', 'pracovní den 1') JAKO "květen ", DATE('nyní', 'začátek roku', '+5 měsíců', 'pracovní den 1') JAKO "Červen", DATE('nyní', 'začátek roku', '+6 měsíců', 'pracovní den 1') JAKO "Červenec", DATE('nyní', 'začátek roku', '+7 měsíců', 'pracovní den 1') JAKO "srpen", DATE('nyní', 'začátek roku', '+ 8 měsíců', 'pracovní den 1') JAKO "Zář", DATE('nyní', 'začátek roku', '+9 měsíců', 'pracovní den 1') JAKO "říjen", DATE('nyní', 'začátek roku', '+10 měsíců', 'pracovní den 1') JAKO "Nov", DATE('nyní', 'začátek roku', '+11 měsíců', 'pracovní den 1') JAKO "Prosinec";
Výsledek:
Nyní led únor březen dub květen červen červenec srpen září říjen listopad prosinec ---------- ---------- --------- ---- ------ ---------- ---------- ---------- ---------- ---- ------ ---------- ---------- ---------- -----------2022-03- 10 2022-01-03 2022-02-07 2022-03-07 2022-04-04 2022-05-02 2022-06-06 2022-07-04 2022-08-01 2022-08-01 2022-08-01 2022-05-02 03 2022-11-07 2022-12-05