sql >> Base de Datos >  >> RDS >> SQLite

Restar años de una fecha en SQLite

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