Løst: hvordan får man en dato i går

Sidste ændring: 09/13/2023

At få datoen for "i går" i SQL kan virke som en simpel opgave, men det kan blive lidt udfordrende afhængigt af dine projektkrav. Men hvis du har et solidt kendskab til SQL og dets funktioner, kan du effektivt levere løsningen. SQL eller Structured Query Language er et domænespecifikt sprog, der bruges i programmering og designet til at administrere data, der opbevares i et relationelt databasestyringssystem.

Vi har brug for en robust teknik til at beregne en dato svarende til "i går", der gælder på tværs af alle serverscenarier. Lad os undersøge den bedste løsning:

SELECT DATEADD(day, -1, GETDATE()) as YesterdayDate

Forståelse af koden

Vi bruger en indbygget SQL Server-funktion, 'DATEADD', kombineret med 'GETDATE.' Det DATEADD funktion trækker en dag (-1) fra den aktuelle dato, leveret af GETDATE.

DATEADD er en kraftfuld funktion introduceret i SQL Server til at udføre operationer med dato- og tidsværdier. Det hjælper os med at tilføje eller trække datodele, inklusive dag, måned, år, time, minut og mere fra en dato eller tidsværdi.

GETDATE er en anden indbygget funktion, der bruges i SQL Server til at hente det aktuelle tidsstempel i serverens respektive tidszone.

Trin-for-trin kodeforklaring

  • For det første henter GETDATE()-funktionen den aktuelle dato og klokkeslæt i henhold til din SQL-server.
  • Dernæst kommer DATEADD()-funktionen i spil. DATEADD() accepterer tre parametre, den første angiver den del af datoen, der skal tilføjes eller trækkes fra, den anden parameter angiver stignings- eller reduktionsværdien, og den tredje parameter repræsenterer datoen.

Fra dette kodestykke trækker DATEADD `-1` (1 dag) fra datoen hentet af GETDATE()-funktionen, hvilket i praksis giver os "gårsdagens" dato.

SQL Server-funktioner og biblioteker

I dette problem brugte vi ikke nogen eksterne biblioteker – SQL Server giver alle de nødvendige funktioner. At forstå anvendelsen af ​​disse funktioner til forskellige scenarier er afgørende for en SQL-udvikler. Sørg for, at du forstår korrekt, hvornår og hvordan du skal bruge DATEADD, GETDATE og andre indbyggede SQL Server-funktioner.

Udover `DATEADD` og `GETDATE` understøtter SQL Server en lang række dato- og tidsfunktioner som `DATEDIFF`, `DAY`, `MONTH`, `YEAR`, `SYSDATETIME`, `CURRENT_TIMESTAMP` osv. Omfattende viden om disse funktioner og deres applikationer kan hjælpe dig med at løse mere komplekse problemer.

Håber denne artikel hjælper din forståelse af SQL-serverens indbyggede funktioner, specifikt 'DATEADD' og 'GETDATE'.

Relaterede indlæg: