En SQLite, podemos usar DATE()
función para restar uno o más años de una fecha.
Para valores de fecha y hora, podemos usar DATETIME()
función.
Ejemplo
Aquí hay un ejemplo que usa DATE()
función:
SELECT DATE('2050-08-21', '-1 year');
Resultado:
2049-08-21
Si quisiéramos agregar la cantidad, podríamos reemplazar -
con +
, u omitirlo por completo.
Podemos especificar los años en forma plural o no plural. En otras palabras, year
es 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 en Meses o Días
Alternativamente, podemos restar años en función de una cantidad de meses o días:
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
El DATETIME()
Función
Este ejemplo usa el DATETIME()
función para hacer lo mismo:
SELECT DATETIME('2050-08-21', '-1 year');
Resultado:
2049-08-21 00:00:00
En este caso, pasé un valor de fecha, pero la función devolvió un valor de fecha y hora.
Aquí hay otro ejemplo, esta vez con un valor de fecha y hora:
SELECT DATETIME('2050-08-21 18:30:45', '-1 year');
Resultado:
2049-08-21 18:30:45