sql >> Databasteknik >  >> RDS >> SQLite

Subtrahera år från ett datum i SQLite

I SQLite kan vi använda DATE() funktion för att subtrahera ett eller flera år från ett datum.

För datetime-värden kan vi använda DATETIME() funktion.

Exempel

Här är ett exempel som använder DATE() funktion:

SELECT DATE('2050-08-21', '-1 year');

Resultat:

2049-08-21

Om vi ​​vill lägga till beloppet kan vi ersätta - med + , eller utelämna det helt.

Vi kan ange årtal i plural eller icke-pluralform. Med andra ord, year motsvarar year :

SELECT 
    DATE('2050-08-21', '-5 year') AS year,
    DATE('2050-08-21', '-5 years') AS years;

Resultat:

year        years     
----------  ----------
2045-08-21  2045-08-21

Specificerat i månader eller dagar

Vi kan alternativt subtrahera år baserat på ett antal månader eller dagar:

SELECT 
    DATE('2050-08-21', '-12 months') AS "12 Months",
    DATE('2050-08-21', '-365 days') AS "365 Days";

Resultat:

12 Months   365 Days  
----------  ----------
2049-08-21  2049-08-21

DATETIME() Funktion

Det här exemplet använder DATETIME() funktion för att göra samma sak:

SELECT DATETIME('2050-08-21', '-1 year');

Resultat:

2049-08-21 00:00:00

I det här fallet skickade jag ett datumvärde, men funktionen returnerade ett datetime-värde.

Här är ett annat exempel, den här gången med ett datetime-värde:

SELECT DATETIME('2050-08-21 18:30:45', '-1 year');

Resultat:

2049-08-21 18:30:45

  1. FEL 1130 (HY000):Värden '' får inte ansluta till denna MySQL-server

  2. Bestäm rankning baserat på flera kolumner i MySQL

  3. Varför skapar man en vy i en databas?

  4. Graduate Level Felhantering