Dela via


Cast (SSIS-uttryck)

gäller för:SQL Server SSIS Integration Runtime i Azure Data Factory

Konverterar explicit ett uttryck från en datatyp till en annan datatyp. Cast-operatorn kan också fungera som en trunkeringsoperator.

Syntax

  
(type_spec) expression  
  

Argument

type_spec
Är en giltig SSIS-datatyp.

uttryck
Är ett giltigt uttryck.

Resultattyper

Datatypen för type_spec. Mer information finns i Integration Services-datatyper.

Anmärkningar

I följande diagram visas juridiska gjutna åtgärder.

Juridiska och inte juridiska avgjutningar mellan datatyper

För att kunna casta till vissa datatyper krävs parametrar. I följande tabell visas dessa datatyper och deras parametrar.

Datatyp Parameter Exempel
DT_STR charcount

kodsida
(DT_STR,30,1252) konverterar 30 byte, eller 30 enskilda tecken, till DT_STR-datatypen med hjälp av teckensidan 1252.
DT_WSTR Charcount (DT_WSTR,20) omvandlar 20 bytepar, eller 20 Unicode-tecken, till DT_WSTR-datatypen.
DT_BYTES Byteantal (DT_BYTES,50) omvandlar 50 byte till den DT_BYTES datatypen.
DT_DECIMAL Skala (DT_DECIMAL,2) omvandlar ett numeriskt värde till DT_DECIMAL-datatypen med en skala av 2.
DT_NUMERIC Precision

Skala
(DT_NUMERIC,10,3) omvandlar ett numeriskt värde till den DT_NUMERIC datatypen med en precision på 10 och en skala på 3.
DT_TEXT Teckenuppsättning (DT_TEXT, 1252) omvandlar ett värde till DT_TEXT-datatypen genom att använda kodsidan 1252.

När en sträng gjuts till en DT_DATE, eller tvärtom, används nationella inställningar för omvandlingen. Datumet är dock i ISO-format för ÅÅÅÅ-MM-DD, oavsett om nationella inställningar använder ISO-formatet.

Note

Information om hur du konverterar en sträng till en annan datumdatatyp än DT_DATE finns i Integration Services-datatyper.

Om kodsidan är en teckenkodsida i flerabyte kan antalet byte och tecken skilja sig åt. Gjutning från en DT_WSTR till en DT_STR med samma teckenantal värde kan orsaka trunkering av de sista tecknen i den konverterade strängen. Om det finns tillräckligt med lagringsutrymme i kolumnen i måltabellen anger du värdet för parametern charcount för att återspegla antalet byte som krävs på kodsidan för flerabyte. Om du till exempel omvandlar teckendata till en DT_STR datatyp med hjälp av 936-kodsidan bör du ange teckenantal till ett värde som är upp till två gånger större än det antal tecken som du förväntar dig att data ska innehålla. Om du castar teckendata med hjälp av UTF-8-kodsidan bör du ange teckenantal till ett värde upp till fyra gånger större.

Mer information om strukturen för datumdatatyper finns i Integration Services-datatyper.

Exempel på SSIS-uttryck

I det här exemplet omvandlas ett numeriskt värde till ett heltal.

(DT_I4) 3.57  

I det här exemplet omvandlas ett heltal till en teckensträng med hjälp av kodsidan 1252.

(DT_STR,1,1252)5  

I det här exemplet omvandlas en sträng med tre tecken till dubbla bytetecken.

(DT_WSTR,3)"Cat"  

I det här exemplet omvandlas ett heltal till en decimal med en skala på två.

(DT_DECIMAl,2)500  

I det här exemplet omvandlas ett heltal till ett numeriskt värde med precisionen sju och skalan tre.

(DT_NUMERIC,7,3)4000  

Det här exemplet konverterar värden i kolumnen FirstName, definierad med en nvarchar datatyp och en längd på 50, till teckensträng med hjälp av kodsidan 1252.

(DT_STR,50,1252)FirstName  

I det här exemplet omvandlas värden i kolumnen DateFirstPurchase av typen DT_DBDATE till en Unicode-teckensträng med en längd på 20.

(DT_WSTR,20)DateFirstPurchase  

I det här exemplet omvandlas strängliteralen "True" till ett booleskt värde.

(DT_BOOL)"True"  

I det här exemplet omvandlas en strängliteral till DT_DBDATE.

(DT_DBDATE) "1999-10-11"  

I det här exemplet omvandlas en sträng till den DT_DBTIME2-datatyp som använder 5 siffror för bråksekunder. (Datatypen DT_DBTIME2 kan ha mellan 0 och 7 siffror angivna för bråksekunder.)

(DT_DBTIME2, 5) "16:34:52.12345"  

I det här exemplet omvandlas en strängliteral till datatypen DT_DBTIMESTAMP2 som använder 4 siffror för bråksekunder. (Den DT_DBTIMESTAMP2 datatypen kan ha mellan 0 och 7 siffror angivna för bråksekunder.)

(DT_DBTIMESTAMP2, 4) "1999-10-11 16:34:52.1234"  

I det här exemplet omvandlas en strängliteral till den DT_DBTIMESTAMPOFFSET datatyp som använder 7 siffror i bråksekunder. (Den DT_DBTIMESTAMPOFFSET datatypen kan ha mellan 0 och 7 siffror angivna för bråksekunder.)

(DT_DBTIMESTAMPOFFSET, 7) "1999-10-11 16:34:52.1234567 + 5:35"  

Se även

Operatorprioritet och associativitet
Operatorer (SSIS-uttryck)
Expressioner för Integration Services (SSIS)
Integrationstjänsters datatyper i uttryck