sql >> Databasteknik >  >> RDS >> Database

Hur man får gårdagens datum i T-SQL

Problem:

Du vill visa gårdagens datum (utan tid) i en SQL Server-databas.

Lösning:

SELECT DATEADD(day, -1, CAST(GETDATE() AS date)) AS YesterdayDate;

Om vi ​​antar att det är 2020-09-24 idag är resultatet:

yesterday_date
2020-09-23

Diskussion:

För att få gårdagens datum måste du subtrahera en dag från dagens datum. Använd GETDATE() för att få dagens datum (typen är datetime ) och casta den till date . I SQL Server kan du subtrahera eller lägga till valfritt antal dagar med DATEADD() funktion.

DATEADD() funktionen tar tre argument:datepart , number och date . Här är värdet på datepart är day , eftersom tidsenheten du vill subtrahera är dag. Det andra argumentet är -1 (du subtraherar 1 dag, vilket är samma sak som att lägga till -1 dag). Det tredje argumentet är dagens datum – det datum som du vill subtrahera.

Naturligtvis kan du gå tillbaka med vilket tidsintervall som helst lika enkelt. Här är ett exempel:

SELECT DATEADD(month, -5, CAST(GETDATE() AS date));

Ett tidsintervall kan också added till en dejt. Så här är ett sätt om du vill få morgondagens datum:

SELECT DATEADD(day, 1, CAST(GETDATE() AS date)) AS TomorrowDate;

  1. Konvertera 'smalldatetime' till 'time' i SQL Server (T-SQL-exempel)

  2. Hur man inaktiverar plugins från WordPress-databasen

  3. NEW_TIME() Funktion i Oracle

  4. PostgreSQL - GROUP BY-klausul