Aracılığıyla paylaş


Atama (SSIS İfadesi)

Şunlar için geçerlidir:SQL Server Azure Data Factory'de SSIS Integration Runtime

Bir ifadeyi bir veri türünden farklı bir veri türüne açıkça dönüştürür. Atama işleci bir kesme işleci olarak da işlev görebilir.

Sözdizimi

  
(type_spec) expression  
  

Argümanlar

type_spec
Geçerli bir SSIS veri türüdür.

ifade
Geçerli bir ifadedir.

Sonuç Türleri

type_specveri türü. Daha fazla bilgi için bkz. Integration Services Veri Türleri.

Açıklamalar

Aşağıdaki diyagramda yasal atama işlemleri gösterilmektedir.

Veri türleri arasında yasal ve yasal olmayan dönüşümler

Bazı veri türlerine atama için parametreler gerekir. Aşağıdaki tabloda bu veri türleri ve parametreleri listelenmiştir.

Veri tipi Parametre Örnek
DT_STR charcount

kod sayfası
(DT_STR,30.1252), 1252 kod sayfasını kullanarak DT_STR veri türüne 30 bayt veya 30 tek karakter yazar.
DT_WSTR Charcount (DT_WSTR,20), 20 bayt çiftini veya 20 Unicode karakteri DT_WSTR veri türüne dönüştürür.
DT_BYTES Bytecount (DT_BYTES,50), DT_BYTES veri türüne 50 bayt yazar.
DT_ONDALIK Ölçeklendirme (DT_DECIMAL,2), 2 ölçeğini kullanarak sayısal bir değeri DT_DECIMAL veri türüne dönüştürür.
DT_NUMERIC Hassasiyet

Ölçeklendirme
(DT_NUMERIC,10,3), 10 kesinlik ve 3 ölçek kullanarak sayısal bir değeri DT_NUMERIC veri türüne dönüştürür.
DT_TEXT Kod Sayfası (DT_TEXT,1252), 1252 kod sayfasını kullanarak bir değeri DT_TEXT veri türüne dönüştürür.

Bir dize bir DT_DATE'ye dönüştürüldüğünde veya bunun tersi yapıldığında, dönüştürmenin yerel ayarı kullanılır. Ancak tarih, yerel ayar tercihinin ISO biçimini kullanıp kullanmadığına bakılmaksızın YYYY-AA-GG ISO biçimindedir.

Not

Dizeyi DT_DATE dışında bir tarih veri türüne dönüştürmek için bkz. Integration Services Veri Türleri.

Kod sayfası çok baytlı bir karakter kodu sayfasıysa, bayt ve karakter sayısı farklılık gösterebilir. Bir DT_WSTR’yi aynı karakter sayısı değerine sahip bir DT_STR’ye dönüştürmek, dönüştürülen dizedeki son karakterlerin kesilmesine neden olabilir. Hedef tablonun sütununda yeterli depolama alanı varsa, çok baytlı kod sayfasının gerektirdiği bayt sayısını yansıtmak için charcount parametresinin değerini ayarlayın. Örneğin, 936 kod sayfasını kullanarak karakter verilerini bir DT_STR veri türüne dönüştürürseniz, karakter sayısı verilerin içermesini beklediğiniz karakter sayısından iki kat daha büyük bir değere ayarlamanız gerekir; UTF-8 kod sayfasını kullanarak karakter verileri oluşturursanız, charcount değerini dört kat daha büyük bir değere ayarlamanız gerekir.

Tarih veri türlerinin yapısı hakkında daha fazla bilgi için bkz. Integration Services Veri Türleri.

SSIS İfade Örnekleri

Bu örnek, sayısal bir değeri tamsayıya dönüştürür.

(DT_I4) 3.57  

Bu örnek, 1252 kod sayfasını kullanarak bir tamsayıyı bir karakter dizesine çevirir.

(DT_STR,1,1252)5  

Bu örnek, üç karakterli bir dizeyi çift baytlı karakterlere dönüştürür.

(DT_WSTR,3)"Cat"  

Bu örnek, bir tamsayıyı iki ölçekli ondalık bir sayıya dönüştürür.

(DT_DECIMAl,2)500  

Bu örnek, bir tamsayıyı hassasiyeti yedi ve ölçeği üç olan bir sayısal veri türüne dönüştürür.

(DT_NUMERIC,7,3)4000  

Bu örnek, nvarchar veri türü ve 50 uzunluğuyla tanımlanan FirstName sütunundaki değerleri 1252 kod sayfasını kullanarak bir karakter dizesine dönüştürür.

(DT_STR,50,1252)FirstName  

Bu örnek, DT_DBDATE türündeki DateFirstPurchase sütunundaki değerleri 20 uzunluğunda bir Unicode karakter dizesine dönüştürür.

(DT_WSTR,20)DateFirstPurchase  

Bu örnek, "True" dizesini Boole değerine dönüştürür.

(DT_BOOL)"True"  

Bu örnek, bir dize değişmez değerini DT_DBDATE'e dönüştürür.

(DT_DBDATE) "1999-10-11"  

Bu örnek, kesirli saniyeler için 5 basamak kullanan DT_DBTIME2 veri türüne bir dize sabitini dönüştürür. (DT_DBTIME2 veri türünde kesirli saniyeler için 0 ile 7 arasında basamak belirtilebilir.)

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

Bu örnek, kesirli saniyeler için 4 basamak kullanan DT_DBTIMESTAMP2 veri türüne bir dizeyi çevirir. (DT_DBTIMESTAMP2 veri türü için kesirli saniyeler için belirtilen basamak sayısı 0 ile 7 arasında olabilir.)

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

Bu örnek, kesirli saniyeler için 7 basamak kullanan DT_DBTIMESTAMPOFFSET veri türüne bir dize sabitini çevirir. (DT_DBTIMESTAMPOFFSET veri türü kesirli saniyeler için belirtilen basamak sayısı 0 ile 7 arasında olabilir.)

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

Ayrıca Bkz.

İşleç Önceliği ve İlişkisellik
İşleçleri (SSIS İfadesi)
Integration Services (SSIS) İfadeleri
İfadelerdeki Integration Services Veri Türleri