SQLite não tem um
DATEADD() função como SQL Server (ou um ADDDATE() ou ADD_DATE() funciona como em alguns outros DBMSs), mas tem o DATE() função que pode fazer adições a um valor de data. SQLite também tem um
DATETIME() função que pode fazer adições a um valor de data e hora (assim como um TIME() função para valores de tempo). Exemplo
Aqui está um exemplo para demonstrar como
DATE() do SQLite A função pode ser usada para adicionar dez dias a uma data:SELECT DATE('2050-08-21', '+10 days'); Resultado:
2050-08-31
E podemos adicionar meses da mesma forma:
SELECT DATE('2050-08-21', '+1 month'); Resultado:
2050-09-21
E é o mesmo com os anos:
SELECT DATE('2050-08-21', '+1 year'); Resultado:
2051-08-21
Observe que o intervalo pode ser especificado em sua forma plural ou não plural. Portanto, o seguinte produz os mesmos resultados do exemplo anterior:
SELECT DATE('2050-08-21', '+1 years'); Resultado:
2051-08-21
Horas, minutos e segundos
O
DATETIME() A função nos permite adicionar horas, minutos e segundos a um determinado valor de data e hora: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"; Resultado:
Hours Minutes Seconds ------------------- ------------------- ------------------- 2050-08-21 01:00:00 2050-08-21 00:01:00 2050-08-21 00:00:01
E para valores de tempo, aqui está o
TIME() função: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"; Resultado:
Hours Minutes Seconds -------- -------- -------- 01:00:00 00:01:00 00:00:01
Subtrair das datas
Também podemos usar
DATE() para subtrair:SELECT DATE('2050-08-21', '-10 days'); Resultado:
2050-08-11
Tudo o que fazemos é usar o
- assine o segundo argumento em vez de + .