Tekst DATEDIFF (wyrażenia SSIS)
Podaje wartość liczby data i czas granice przekraczane między dwiema określonymi datami.The datepart parameter identifies which data and czas boundaries to compare.
DATEDIFF(datepart, startdate, endate)
Argumenty
datepart
Jest to parametr, która określa która część data do porównania i zwrócić wartość w polu.startdate
Jest to data początkowa interwału.endate
Jest to data zakończenia interwału.
Typy wynik
DT_I4
Remarks
Następujące tabela dateparts i skróty rozpoznawane przez modułu szacującego wyrażenie.
W parametrze datepart |
Skróty |
---|---|
Rok |
dd, rrrr |
Kwartał |
qq, q |
Miesiąc |
mm, m |
Dayofyear |
dy x, y |
Dzień |
dd d |
Tydzień |
Wk ww |
Dzień tygodnia |
DW, m |
Godziny |
Hh |
Minuta |
mi n |
Sekundy |
ss, s |
Milisekundy |
Pani |
Tekst DATEDIFF zwraca wynik wartości null, jeśli którykolwiek z argumentów ma wartość null.
Literał daty musi jawnie rzutować na jeden z typów danych Data.Aby uzyskać więcej informacji zobaczTypy danych usług integracja.
Uwaga
Wyrażenie nie powiedzie się sprawdzanie poprawności podczas literał daty jest jawnie oddane do jednego z tych typów danych Data: DT_DBTIMESTAMPOFFSET DT_DBTIMESTAMP2 i DT_DBTIME2.
Jeśli data nie jest prawidłowy, jednostka daty lub godziny nie jest ciągiem, jeśli daty rozpoczęcia nie jest data lub Data końcowa jest datą, wystąpi błąd.
Jeśli data zakończenia jest wcześniejsza niż data rozpoczęcia, funkcja zwraca wartość ujemną.Jeśli daty rozpoczęcia i zakończenia są równe lub mieszczą się w tym samym interwałem, funkcja zwraca wartość zero.
Przykłady
Ten przykład oblicza liczbę dni między dwiema data literałów.Jeśli data jest w formacie "mm/dd/rrrr", 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 data literału a bieżącą data.
DATEDIFF("mm", (DT_DBTIMESTAMP)"8/1/2003",GETDATE())
W tym przykładzie zwraca liczbę tygodni między dniem w ModifiedDate i kolumn YearEndDate zmiennej.Jeśli YearEndDate has a date wymagany jest typ danych, nie wyraźnej rzutowania.
DATEDIFF("Week", ModifiedDate,@YearEndDate)
See Also