SQL SERWER FUNKCJA DATADD

SQL SERWER FUNKCJA DATADD

Data daty i godziny są powszechne w SQL Server, a wbudowane typy danych są dla daty i godziny. SQL Server oferuje również kilka funkcji do pracy z typami dat.

Ten krótki, ale szczegółowy przewodnik nauczy Cię, jak korzystać z funkcji DatEADD w funkcjach, zapytaniach i procedurach SQL Server.

Podstawy

Funkcja SQL Server DateADD umożliwia dodanie lub odjęcie określonej jednostki daty do określonej daty i zwrócenie daty wynikowej.

Możemy wyrazić składnię funkcji DateADD jako:

dataadd ([jednostka_of_time] [wartość] [Target_Date]);

Jak pokazano w powyższej składni, funkcja akceptuje trzy główne argumenty:

  1. Unit_of_Time-Pierwszy argument reprezentuje jednostkę czasu na dodanie do określonej daty.
  2. Wartość-Argument wartości reprezentuje liczbę dodaną lub odejmowaną do daty docelowej. Jest to wartość typu liczb całkowitych; Stąd funkcja będzie obcinać, jeśli dostarczona wartość jest typem dziesiętnym lub pływakowym.
  3. Data docelowa-Ten argument reprezentuje datę dodania lub odejmowania określonej wartości. Może to być dosłowna wartość daty lub wyrażenie z funkcji daty SQL Server.

Funkcja akceptuje określoną wartość dla jednostki parametru czasu. Zaakceptowane wartości są jak pokazano w poniższej tabeli:

Skrócenie jednostkowe
-------------------------------------------------- ------------
Nanosekund NS
Microsekund MCS
milisekundowy ms
Second S, SS
Minute MI, n
Godzina hh
Tydzień WK, WW
Dzień DD, D
Dzień roku, dy, y
Miesiąc MM, M
Quarter QQ, Q
Rok Yy, yyyy
(12 rzędów)

Następnie funkcja doda wartość daty po dodaniu lub odjęciu określonej wartości jednostki od daty docelowej.

SQL SERVER DATEADD Zastosowanie

Użyjmy teraz różnych przykładów, aby zrozumieć, jak korzystać z funkcji DateADD na serwerze SQL.

Przykład 1

Poniższe zapytanie dodaje jedną sekundę do określonej daty.

Wybierz DateAdd (drugi, 1, „2021-12-24 23:59:59 ');

Powstała wartość jest jak pokazana:

2021-12-25 00:00:00.000

Przykład 2

Dodajmy rok od dzisiejszej daty. Możemy uruchomić zapytanie, jak pokazano poniżej:

Wybierz dataDD (rok, 1, current_timestamp);

Powyższe zapytanie doda rok do obecnego znacznika czasu. Przykładową wartością wyniku jest:

2022-12-19 15:14:13.883

Przykład 3

Możemy również odjąć określoną jednostkę czasu od daty docelowej. Rozważ przykładowe zapytanie, jak pokazano:

Wybierz dataDD (rok, -5, current_timestamp);

Powyższy przykład odejmuje 5 lat od obecnego znacznika czasu.

Powstała wartość to:

2016-12-19 15:16:07.970

Przykład 4

Co się stanie, jeśli dodasz miesiąc, a wynikowy data nie istnieje. W takim przypadku funkcja DatEADD powróci ostatniego dnia miesiąca.

Przykładowe zapytanie jako:

Wybierz DateADD (miesiąc, 4, '2022-05-31 00: 00: 00: 000');

Ponieważ nie ma 31 września, zapytanie zwraca 30 września jako:

2022-09-30 00:00:00.000

Przykład 5

Dodaj godzinę do daty docelowej i uzyskaj wynik.

Wybierz datadd (godzina, 1, '2022-06-30 00: 00: 00: 000');

Powstała wartość to:

2022-06-30 01:00:00.000

Przykład 6

Możesz także użyć funkcji DatEADD, aby znaleźć różnicę między dwiema datami i wartością czasu. Na przykład:

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

Powstała wartość to:

1905-06-27 19:56:00.000

Końcowe przemyślenia

W tym przewodniku rozumiesz, jak korzystać z funkcji SQL Server DateADD przy użyciu różnych przykładów. Funkcja DatEADD jest bardzo przydatna podczas manipulowania datami daty i godziny na SQL Server.

Bądź na bieżąco, aby uzyskać więcej treści serwera SQL.