sql >> Databasteknik >  >> RDS >> SQLite

SQLite DATEADD() Ekvivalent

SQLite har ingen DATEADD() funktion som SQL Server (eller en ADDDATE() eller ADD_DATE() fungerar som i vissa andra DBMS), men den har DATE() funktion som kan göra tillägg till ett datumvärde.

SQLite har också en DATETIME() funktion som kan göra tillägg till ett datetime-värde (liksom en TIME() funktion för tidsvärden).

Exempel

Här är ett exempel för att visa hur SQLites DATE() funktionen kan användas för att lägga till tio dagar till ett datum:

SELECT DATE('2050-08-21', '+10 days');

Resultat:

2050-08-31

Och vi kan lägga till månader på samma sätt:

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

Resultat:

2050-09-21

Och det är samma sak med år:

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

Resultat:

2051-08-21

Observera att intervallet kan anges i sin plural eller icke-pluralform. Så följande ger samma resultat som föregående exempel:

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

Resultat:

2051-08-21

Timmar, minuter och sekunder

DATETIME() funktionen låter oss lägga till timmar, minuter och sekunder till ett givet datum och tid:

SELECT 
    DATETIME('2050-08-21 00:00:00.000', '+1 hour') AS "Hours",
    DATETIME('2050-08-21 00:00:00.000', '+1 minute') AS "Minutes",
    DATETIME('2050-08-21 00:00:00.000', '+1 second') AS "Seconds";

Resultat:

Hours                Minutes              Seconds            
-------------------  -------------------  -------------------
2050-08-21 01:00:00  2050-08-21 00:01:00  2050-08-21 00:00:01

Och för tidsvärden, här är TIME() funktion:

SELECT 
    TIME('00:00:00.000', '+1 hour') AS "Hours",
    TIME('00:00:00.000', '+1 minute') AS "Minutes",
    TIME('00:00:00.000', '+1 second') AS "Seconds";

Resultat:

Hours     Minutes   Seconds 
--------  --------  --------
01:00:00  00:01:00  00:00:01

Subtrahera från datum

Vi kan också använda DATE() att subtrahera:

SELECT DATE('2050-08-21', '-10 days');

Resultat:

2050-08-11

Allt vi gör är att använda - logga in det andra argumentet istället för + .


  1. Är ordning i en underfråga garanterad att bevaras?

  2. SCD typ 6

  3. Hur kan jag se live MySQL-frågor?

  4. Arbeta med MySQL-databasmotorer