SQLite nemá DATEADD()
fungovat jako SQL Server (nebo ADDDATE()
nebo ADD_DATE()
funguje jako v některých jiných DBMS), ale má DATE()
funkce, která může přidávat k hodnotě data.
SQLite má také DATETIME()
funkce, která může přidávat hodnotu data a času (stejně jako TIME()
funkce pro časové hodnoty).
Příklad
Zde je příklad, který demonstruje, jak DATE()
SQLite funkci lze použít k přidání deseti dnů k datu:
SELECT DATE('2050-08-21', '+10 days');
Výsledek:
2050-08-31
A stejným způsobem můžeme přidat měsíce:
SELECT DATE('2050-08-21', '+1 month');
Výsledek:
2050-09-21
A stejné je to s roky:
SELECT DATE('2050-08-21', '+1 year');
Výsledek:
2051-08-21
Všimněte si, že interval může být specifikován v množném nebo nemnožném čísle. Následující příklad dává stejné výsledky jako předchozí příklad:
SELECT DATE('2050-08-21', '+1 years');
Výsledek:
2051-08-21
Hodiny, minuty a sekundy
DATETIME()
Funkce nám umožňuje přidat hodiny, minuty a sekundy k dané hodnotě data a času:
SELECT
DATETIME('2050-08-21 00:00:00.000', '+1 hour') AS "Hours",
DATETIME('2050-08-21 00:00:00.000', '+1 minute') AS "Minutes",
DATETIME('2050-08-21 00:00:00.000', '+1 second') AS "Seconds";
Výsledek:
Hours Minutes Seconds ------------------- ------------------- ------------------- 2050-08-21 01:00:00 2050-08-21 00:01:00 2050-08-21 00:00:01
A pro časové hodnoty je zde TIME()
funkce:
SELECT
TIME('00:00:00.000', '+1 hour') AS "Hours",
TIME('00:00:00.000', '+1 minute') AS "Minutes",
TIME('00:00:00.000', '+1 second') AS "Seconds";
Výsledek:
Hours Minutes Seconds -------- -------- -------- 01:00:00 00:01:00 00:00:01
Odečíst od dat
Můžeme také použít DATE()
odečíst:
SELECT DATE('2050-08-21', '-10 days');
Výsledek:
2050-08-11
Vše, co děláme, je použití -
podepište druhý argument místo +
.