Sdílet prostřednictvím


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í.

platné a neplatné přetypování mezi datovými typy

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 charcount

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 (Integration Services)
Datové typy integračních služeb ve výrazech