SQL Server DateAdD -funksjon

SQL Server DateAdD -funksjon

Data og tidsdata er vanlige i SQL Server, og det er innebygde datatyper for dato og klokkeslett. SQL Server gir også flere funksjoner for å jobbe med datatyper.

Denne korte, men detaljerte guiden vil lære deg hvordan du bruker DateAdD -funksjonen i SQL Server -funksjoner, spørsmål og prosedyrer.

Det grunnleggende

SQL Server DateAdD -funksjonen lar deg legge til eller trekke fra en bestemt datoenhet til den spesifiserte datoen og returnere den resulterende datoen.

Vi kan uttrykke syntaks for DateAdD -funksjonen som:

DateAdd ([Unit_of_time] [verdi] [Target_date]);

Som vist i syntaks ovenfor, godtar funksjonen tre hovedargumenter:

  1. Unit_of_time-Det første argumentet representerer tidsenheten for å legge til den spesifiserte datoen.
  2. Verdi-Verdiargumentet representerer antallet som er lagt til eller trukket til måldatoen. Dette er en heltall -type verdi; Derfor vil funksjonen avkortet hvis den medfølgende verdien er en desimal eller float -type.
  3. Måldato-Dette argumentet representerer datoen du vil legge til eller trekke fra den spesifiserte verdien. Dette kan være en bokstavelig datoverdi eller et uttrykk fra SQL Server Date Functions.

Funksjonen godtar en spesifikk verdi for tidsparameterenheten. Aksepterte verdier er som vist i tabellen nedenfor:

enhetsforkortelse
-------------------------------------------------- ------------
Nanosekund NS
Microscond MCS
Millisekund MS
Andre S, SS
Minutt mi, n
Time hh
Uke WK, WW
Dag DD, D
Dag på året, dy, y
Måned mm, m
kvart QQ, q
År yy, åååå
(12 rader berørt)

Funksjonen vil deretter legge til en datoverdi etter å ha tilsatt eller trukket tilbake den spesifikke enhetsverdien fra måldatoen.

SQL Server DateAdd Eksempel Bruk

La oss nå bruke forskjellige eksempler for å forstå hvordan vi bruker DateAdd -funksjonen i SQL Server.

Eksempel 1

Spørringen nedenfor legger til ett sekund til den spesifiserte datoen.

Velg DateAdd (andre, 1, '2021-12-24 23:59:59');

Den resulterende verdien er som vist:

2021-12-25 00:00:00.000

Eksempel 2

La oss legge til ett år fra dagens dato. Vi kan kjøre et spørsmål som vist nedenfor:

Velg DateAdd (år, 1, Current_Timestamp);

Spørringen over vil legge ett år til gjeldende tidsstempel. Et eksempel på resultatverdien er som:

2022-12-19 15:14:13.883

Eksempel 3

Vi kan også trekke fra en bestemt tid fra måldatoen. Tenk på eksemplet som vist:

Velg DateAdd (år, -5, Current_Timestamp);

Eksemplet ovenfor trekker 5 år fra dagens tidsstempel.

Den resulterende verdien er som:

2016-12-19 15:16:07.970

Eksempel 4

Hva som skjer hvis du legger til en måned og den resulterende datoen ikke eksisterer. I et slikt tilfelle vil Dateadd -funksjonen komme tilbake den siste dagen i måneden.

Et eksempel på spørring som:

Velg DateAdd (måned, 4, '2022-05-31 00: 00: 00: 000');

Siden det ikke er 31. september, returnerer spørringen 30. september som:

2022-09-30 00:00:00.000

Eksempel 5

Legg til en time til en måldato og få resultatet.

Velg DateAdd (time, 1, '2022-06-30 00: 00: 00: 000');

Den resulterende verdien er som:

2022-06-30 01:00:00.000

Eksempel 6

Du kan også bruke DateAdD -funksjonen for å finne forskjellen mellom to datoer og tidsverdi. For eksempel:

Velg DateAdd (Minute, Datediff (Minute, '2016-12-31 05: 39: 39: 100', '2022-06-27 01: 35: 33: 333'), 0);

Den resulterende verdien er som:

1905-06-27 19:56:00.000

Siste tanker

I denne guiden forstår du hvordan du bruker SQL Server DateAdD -funksjonen ved å bruke forskjellige eksempler. DateAdD -funksjonen er veldig nyttig når du manipulerer dato og tidsdata i SQL Server.

Følg med for mer SQL Server -innhold.