No SQLite, podemos usar o
DATE()
função para subtrair um ou mais anos de uma data. Para valores de data e hora, podemos usar o
DATETIME()
função. Exemplo
Aqui está um exemplo que usa o
DATE()
função:SELECT DATE('2050-08-21', '-1 year');
Resultado:
2049-08-21
Se quiséssemos adicionar o valor, poderíamos substituir
-
com +
, ou omiti-lo completamente. Podemos especificar os anos na forma plural ou não plural. Em outras palavras,
year
é equivalente a years
:SELECT
DATE('2050-08-21', '-5 year') AS year,
DATE('2050-08-21', '-5 years') AS years;
Resultado:
year years ---------- ---------- 2045-08-21 2045-08-21
Especificado em meses ou dias
Alternativamente, podemos subtrair anos com base em um número de meses ou dias:
SELECT
DATE('2050-08-21', '-12 months') AS "12 Months",
DATE('2050-08-21', '-365 days') AS "365 Days";
Resultado:
12 Months 365 Days ---------- ---------- 2049-08-21 2049-08-21
O DATETIME()
Função
Este exemplo usa o
DATETIME()
função para fazer a mesma coisa:SELECT DATETIME('2050-08-21', '-1 year');
Resultado:
2049-08-21 00:00:00
Nesse caso, passei um valor de data, mas a função retornou um valor de data e hora.
Aqui está outro exemplo, desta vez com um valor datetime:
SELECT DATETIME('2050-08-21 18:30:45', '-1 year');
Resultado:
2049-08-21 18:30:45