Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
SSIS Integration Runtime ve službě Azure Data Factory
Vrátí počet hranic data a času překračovaných mezi dvěma zadanými daty. Parametr datepart určuje, jaké hranice data a času se mají porovnat.
Syntaxe
DATEDIFF(datepart, startdate, endate)
Arguments
datepart
Je parametr, který určuje, která část data se má porovnat a vrátit hodnotu.
startdate
Je počáteční datum intervalu.
endate
Je koncové datum intervalu.
Typy výsledků
DT_I4
Poznámky
V následující tabulce jsou uvedeny části kalendářních dat a zkratky rozpoznané vyhodnocovačem výrazů.
| Část datumu | Abbreviations |
|---|---|
| Rok | yy, yyyy |
| Čtvrtletí | qq, q |
| Měsíc | Mm, m |
| Den v roce | dy, y |
| Day | dd, d |
| Týden | Wk, WW |
| Weekday | DW, W |
| Hodina | Hh |
| Minuta | mi, n |
| Second | SS, S |
| Milisekund | Paní |
Funkce DATEDIFF vrátí výsledek null, pokud je některý z argumentů null.
Literál data musí být explicitně přetypován na jeden z datových typů data. Další informace najdete v tématu datové typy integračních služeb.
K chybě dojde, pokud datum není platné, pokud datum nebo časová jednotka není řetězec, pokud počáteční datum není datum nebo pokud koncové datum není datum.
Pokud je koncové datum dřívější než počáteční datum, vrátí funkce záporné číslo. Pokud jsou počáteční a koncová data rovna nebo spadají do stejného intervalu, vrátí funkce nulu.
Příklady výrazů SSIS
Tento příklad vypočítá počet dní mezi dvěma literály kalendářních dat. Pokud je datum ve formátu "mm/dd/rrrr", vrátí funkce hodnotu 7.
DATEDIFF("dd", (DT_DBTIMESTAMP)"8/1/2003", (DT_DBTIMESTAMP)"8/8/2003")
Tento příklad vrátí počet měsíců mezi literálem kalendářního data a aktuálním datem.
DATEDIFF("mm", (DT_DBTIMESTAMP)"8/1/2003",GETDATE())
Tento příklad vrátí počet týdnů mezi datem ve sloupci ModifiedDate a proměnnou YearEndDate . Pokud YearEndDate obsahuje datový typ date, nevyžaduje se explicitní přetypování.
DATEDIFF("Week", ModifiedDate,@YearEndDate)