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