V SQLite můžeme použít DATE() funkce pro přidání jednoho nebo více měsíců k datu.
Když se zabýváme hodnotami datetime, můžeme použít DATETIME() funkce.
Příklad
Zde je příklad, který používá DATE() funkce:
SELECT DATE('2050-08-21', '+1 month'); Výsledek:
2050-09-21
Pokud bychom chtěli částku odečíst, mohli bychom nahradit + s - .
Také vynechání + část má za následek přidanou částku, jako bychom použili + :
SELECT DATE('2050-08-21', '1 month'); Výsledek:
2050-09-21
Měsíce můžeme specifikovat v množném i nemnožném čísle. Jinými slovy month je ekvivalentní months :
SELECT
DATE('2050-08-21', '+3 month') AS month,
DATE('2050-08-21', '+3 months') AS months; Výsledek:
month months ---------- ---------- 2050-11-21 2050-11-21
Uvedeno ve dnech
Alternativně můžeme k datu přidat měsíc nebo více na základě počtu dní:
SELECT DATE('2050-08-21', '+31 days'); Výsledek:
2050-09-21
Mějte však na paměti, že to bude vyžadovat, abyste přesně věděli, kolik dní je vhodných pro příslušné měsíce. Některé měsíce mají 30 dní, některé 31 a únor má buď 28, nebo 29, v závislosti na tom, zda je nebo není přestupný rok.
S month /months modifikátor, SQLite normalizuje datum na základě počtu dní v příslušném měsíci/s.
Zde je srovnání měsíců a dnů při přidávání k datu v březnu:
SELECT
DATE('2050-03-31', '+1 month') AS "1 month",
DATE('2050-03-31', '+30 days') AS "30 days",
DATE('2050-03-31', '+31 days') AS "31 days"; Výsledek:
1 month 30 days 31 days ---------- ---------- ---------- 2050-05-01 2050-04-30 2050-05-01
A zde je stejné srovnání při přidávání k datu v září:
SELECT
DATE('2050-09-30', '+1 month') AS "1 month",
DATE('2050-09-30', '+30 days') AS "30 days",
DATE('2050-09-30', '+31 days') AS "31 days"; Výsledek:
1 month 30 days 31 days ---------- ---------- ---------- 2050-10-30 2050-10-30 2050-10-31
DATETIME() Funkce
Zde je příklad, který ukazuje, jak používat DATETIME() funkce pro přidání měsíce k hodnotě datetime:
SELECT DATETIME('2050-08-21', '+1 month'); Výsledek:
2050-09-21 00:00:00
V tomto případě jsem předal hodnotu data, ale funkce vrátila hodnotu datetime.
Zde je další příklad, tentokrát s hodnotou datetime:
SELECT DATETIME('2050-08-21 18:30:45', '+1 month'); Výsledek:
2050-09-21 18:30:45