sql >> Database teknologi >  >> RDS >> Database

Sådan får du gårsdagens dato i T-SQL

Problem:

Du vil gerne vise gårsdagens dato (uden tid) i en SQL Server-database.

Løsning:

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

Forudsat at i dag er 2020-09-24, er resultatet:

yesterday_date
2020-09-23

Diskussion:

For at få gårsdagens dato skal du trække en dag fra dagens dato. Brug GETDATE() for at få dagens dato (typen er datetime ) og cast den til date . I SQL Server kan du trække fra eller tilføje et hvilket som helst antal dage ved hjælp af DATEADD() funktion.

DATEADD() funktion tager tre argumenter:datepart , number og date . Her er værdien af ​​datepart er day , fordi den tidsenhed, du vil trække fra, er dag. Det andet argument er -1 (du trækker 1 dag fra, hvilket er det samme som at tilføje -1 dag). Det tredje argument er dagens dato – den dato, du vil trække fra.

Selvfølgelig kan du gå tilbage med et hvilket som helst tidsinterval lige så nemt. Her er et eksempel:

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

Et tidsinterval kan også added til en date. Så her er en måde, hvis du vil have morgendagens dato:

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

  1. MySQL BESTIL EFTER IN()

  2. Selvtilfredshed fører til:Risiko bliver til virkelighed

  3. Mysql fejl 1452 - Kan ikke tilføje eller opdatere en underordnet række:en fremmednøgle begrænsning mislykkes

  4. Automatisk stigning efter sletning i MySQL