Udostępnij za pośrednictwem


DATEDIFF (wyrażenie SSIS)

Zwraca liczbę daty i czas przekraczane granice między dwiema określonymi datami.datepart Parametr identyfikuje których granice data i czas do porównania.

Składnia

DATEDIFF(datepart, startdate, endate)

Argumenty

  • datepart
    Jest parametr, który określa, która część data do porównania i zwrócić wartość.

  • startdate
    Jest data rozpoczęcia interwału.

  • endate
    Jest to data zakończenia interwału.

Typy wyników

DT_I4

Uwagi

W poniższej tabela przedstawiono dateparts i skróty rozpoznawane przez tester wyrażenie.

DatePart

Skróty

Rok

dd, rrrr

Kwartał

qq, q

Miesiąc

mm, m

DAYOFYEAR

dy, y

Dzień

dd d

Tydzień

Wk ww

Dzień tygodnia

DW, Sz

Godziny

Gg

Minuta

mi n

Drugie

ss, s

Milisekundy

MS

DATEDIFF zwraca wynik o wartości null, jeżeli którykolwiek argument ma wartość null.

Literałem daty musi jawnie rzutować na jeden z typów danych Data.Aby uzyskać więcej informacji, zobacz Typy danych usług integracji.

Ostrzeżenie

Wyrażenie nie działa podczas literałem data jest jawnie oddanych do jednego z tych typów danych data poprawności: DT_DBTIMESTAMPOFFSET, DT_DBTIMESTAMP2 i DT_DBTIME2.

Wystąpi błąd, jeśli data nie jest prawidłowy, jeżeli data lub czas nie jest ciągiem, Data początkowa nie jest data lub Data końcowa data jest.

Jeśli data zakończenia jest wcześniejsza niż data rozpoczęcia, funkcja zwraca liczbę ujemną.Jeśli daty rozpoczęcia i zakończenia są równe lub mieszczą się w tym samym interwałem, funkcja zwraca zero.

Przykłady

Ten przykład oblicza liczbę dni między dwiema data literałów.Jeśli data jest w "mm/dd/rrrr" Format, funkcja zwraca 7.

DATEDIFF("dd", (DT_DBTIMESTAMP)"8/1/2003", (DT_DBTIMESTAMP)"8/8/2003")

W tym przykładzie zwraca liczbę miesięcy między literałem data oraz bieżącej data.

DATEDIFF("mm", (DT_DBTIMESTAMP)"8/1/2003",GETDATE())

W tym przykładzie zwraca liczbę tygodni między data w ModifiedDate kolumna i YearEndDate zmiennej.Jeśli YearEndDate ma date Typ danych jest wymagane nie wyraźnej odlewania.

DATEDIFF("Week", ModifiedDate,@YearEndDate)