Přetypování (výraz SSIS)
platí pro:SQL Server SSIS Integration Runtime ve službě Azure Data Factory
Explicitně převede výraz z jednoho datového typu na jiný datový typ. Operátor přetypování může také fungovat jako operátor zkrácení.
Syntax
(type_spec) expression
Argumenty
type_spec
Je platný datový typ SSIS.
výrazu
Je platný výraz.
Typy výsledků
Datový typ type_spec. Další informace najdete v tématu datové typy integračních služeb.
Poznámky
Následující diagram znázorňuje operace právního přetypování.
Konverze na některé datové typy vyžaduje parametry. Následující tabulka uvádí tyto datové typy a jejich parametry.
Datový typ | Parametr | Příklad |
---|---|---|
DT_STR | kódové stránky |
(DT_STR 30 1252) přetypuje 30 bajtů nebo 30 jednoduchých znaků na datový typ DT_STR pomocí znakové stránky 1252. |
DT_WSTR | počet znaků | (DT_WSTR 20) přetypuje 20 bajtů nebo 20 znaků Unicode na datový typ DT_WSTR. |
DT_BYTES | bytecount | (DT_BYTES,50) přetypuje na datový typ DT_BYTES 50 bajtů. |
DT_DECIMAL | škálování | (DT_DECIMAL,2) přetypovává číselnou hodnotu na datový typ DT_DECIMAL s použitím stupnice 2. |
DT_NUMERIC |
Přesnost škálování |
(DT_NUMERIC,10,3) převádí číselnou hodnotu na datový typ DT_NUMERIC pomocí přesnosti 10 a měřítka 3. |
DT_TEXT | Kódová stránka | (DT_TEXT, 1252) přetypuje hodnotu na datový typ DT_TEXT pomocí znakové stránky 1252. |
Při přetypování řetězce na DT_DATE nebo naopak se použije lokalita transformování. Datum je však ve formátu ISO RRRR-MM-DD bez ohledu na to, zda předvolba národního prostředí používá formát ISO.
Poznámka
Pokud chcete převést řetězec na jiný datový typ než DT_DATE, podívejte se na téma Datové typy v integračních službách.
Pokud je znaková stránka vícebajtovou znakovou stránkou, může se počet bajtů a znaků lišit. Přetypování z DT_WSTR na DT_STR se stejnou hodnotou charcount může způsobit zkrácení konečných znaků v převedeném řetězci. Pokud je ve sloupci cílové tabulky k dispozici dostatečné úložiště, nastavte hodnotu parametru charcount tak, aby odrážel počet bajtů, které vyžaduje znaková stránka s vícebajty. Pokud například přetypujete data znaků na datový typ DT_STR pomocí znakové stránky 936, měli byste nastavit charcount na hodnotu až dvakrát větší než počet znaků, které očekáváte, že data budou obsahovat; Pokud přetypujete data znaků pomocí znakové stránky UTF-8, měli byste nastavit charcount na hodnotu až čtyřikrát větší.
Další informace o struktuře datových typů kalendářních dat najdete v tématu Datové typy integračních služeb.
Příklady výrazů SSIS
Tento příklad převádí číselnou hodnotu na celé číslo.
(DT_I4) 3.57
Tento příklad přetypuje celé číslo na řetězec znaků pomocí znakové stránky 1252.
(DT_STR,1,1252)5
Tento příklad přetypuje řetězec se třemi znaky na dvojité bajty.
(DT_WSTR,3)"Cat"
Tento příklad přetypuje celé číslo na desítkové číslo se měřítkem dvou.
(DT_DECIMAl,2)500
Tento příklad přetypuje celé číslo na numerickou hodnotu s přesností sedm a měřítkem tři.
(DT_NUMERIC,7,3)4000
Tento příklad přetypuje hodnoty ve sloupci FirstName, který je definován datovým typem nvarchar a má délku 50, na textový řetězec pomocí znakové stránky 1252.
(DT_STR,50,1252)FirstName
Tento příklad přetypuje hodnoty ve sloupci DateFirstPurchase typu DT_DBDATE na řetězec znaků Unicode s délkou 20.
(DT_WSTR,20)DateFirstPurchase
Tento příklad přetypuje řetězcový literál True na logickou hodnotu.
(DT_BOOL)"True"
Tento příklad přetypuje řetězcový literál na DT_DBDATE.
(DT_DBDATE) "1999-10-11"
Tento příklad přetypuje řetězcový literál na datový typ DT_DBTIME2, který pro zlomkové sekundy používá 5 číslic. (Datový typ DT_DBTIME2 může obsahovat 0 až 7 číslic zadaných pro desetinné sekundy.)
(DT_DBTIME2, 5) "16:34:52.12345"
Tento příklad přetypuje řetězcový literál na datový typ DT_DBTIMESTAMP2, který používá 4 číslice pro části sekundy. (Datový typ DT_DBTIMESTAMP2 může obsahovat 0 až 7 číslic zadaných pro desetinné sekundy.)
(DT_DBTIMESTAMP2, 4) "1999-10-11 16:34:52.1234"
Tento příklad přetypuje řetězcový literál na datový typ DT_DBTIMESTAMPOFFSET, který pro zlomkové sekundy používá 7 číslic. (Datový typ DT_DBTIMESTAMPOFFSET může obsahovat 0 až 7 číslic zadaných pro desetinné sekundy.)
(DT_DBTIMESTAMPOFFSET, 7) "1999-10-11 16:34:52.1234567 + 5:35"
Viz také
Priorita operátorů a asociativita
Operátory (výraz SSIS)
výrazů služby SSIS (
Datové typy integračních služeb ve výrazech