Aracılığıyla paylaş


? : (Koşullu) (SSIS ifadeleri)

Iki ifade Boole değerlendirilmesini alarak birisini döndürür.Boole ifadesi DOğRU olarak değerlendirilirse, ilk deyimi değerlendirilir ve ifade sonucu sonucudur.Boole ifadesi YANLıŞ olarak değerlendirilirse ikinci ifadesi değerlendirilir ve ifade sonucu, bir sonucudur.


boolean_expression?expression1:expression2
        

Bağımsız değişkenler

  • boolean_expression
    Veren herhangi bir geçerli ifade, DOğRU YANLıŞ veya NULL olarak belirtilir.

  • expression1
    Herhangi bir geçerli mi ifade.

  • expression2
    Herhangi bir geçerli mi ifade.

Sonuç türleri

Veri türü expression1 veya expression2.

Remarks

If the boolean_expression evaluates to NULL, the ifade result is NULL. Seçili bir ifade, her iki expression1 veya expression2 null, sonuç null olur. Seçili bir ifade NULL değil, ancak bir seçili NULL olduğundan, sonuç seçilen deyimin değerdir.

If expression1 ve expression2 aynı veri türü, sonuç veri türü olan yoktur. Aşağıdaki ek kurallar, sonuç türleri için geçerlidir:

  • DT_TEXT veri türünde olmasını gerektirir. expression1 ve expression2 aynı kod sayfa vardır.

  • Uzun değişken uzunluğu DT_BYTES veri türü içeren bir sonuç uzunluğudur.

Ifade, küme expression1 ve expression2, geçerli veri türleri için değerlendirmeniz gerekir ve bu kurallar birini izleyin:

  • Sayısal    Ikiexpression1 ve expression2 bir sayısal veri türü olmalıdır. Veri türleri kesişimi ifade değerlendirici gerçekleştiren örtülü sayısal dönüştürme hakkında kurallarında belirtilen sayısal veri türü olmalıdır.Iki sayısal veri türlerinde kesişimi boş (null) olamaz.Daha fazla bilgi için bkz:Deyimler içinde örtülü veri türü dönüştürme.

  • Dize    Ikiexpression1 ve expression2 bir dize veri türü olmalıdır: DT_STR veya DT_WSTR. Iki deyim, farklı bir dize veri türlerine değerlendirebilir.Sonuç, uzun bağımsız değişkeninin uzunluğu olan DT_WSTR veri türü vardır.

  • Tarih, saat veya tarih/saat    Ikiexpression1 ve expression2 Aşağıdaki veri türlerinden biri olarak değerlendirme yapmalıdır: DT_DBDATE DT_DATE, DT_DBTIME, DT_DBTIME2, DT_DBTIMESTAMP, DT_DBTIMESTAMP2, DT_DBTIMESTAPMOFFSET veya DT_FILETIME.

    Not

    Sistem için bir zaman veri veren bir deyim arasındaki karşılaştırmaları desteklemiyor türü ve bir tarih veya tarih/saat veri veren bir ifade yazın.Sistem bir hata üretir.

    Ifadeler karşılaştırırken, sistem listelenen sırada aşağıdaki dönüştürme kurallar uygulanır:

    • Aynı veri türüne iki ifadeleri değerlendirileceği zaman, bu veri türündeki bir karşılaştırma gerçekleştirilir.

    • Bir ifade DT_DBTIMESTAMPOFFSET veri türü, başka bir ifade, DT_DBTIMESTAMPOFFSET için örtülü olarak dönüştürülür ve DT_DBTIMESTAMPOFFSET bir karşılaştırma gerçekleştirilir.Daha fazla bilgi için bkz:Deyimler içinde Tümleştirme Hizmetleri veri türleri.

    • Bir ifade DT_DBTIMESTAMP2 veri türü, başka bir ifade DT_DBTIMESTAMP2 ve karşılaştırma yapılacak bir DT_DBTIMESTAMP2 örtülü olarak dönüştürülür.

    • Bir ifade DT_DBTIME2 veri türü, başka bir ifade, DT_DBTIME2 için örtülü olarak dönüştürülür ve DT_DBTIME2 bir karşılaştırma gerçekleştirilir.

    • Bir ifade DT_DBTIMESTAMPOFFSET, DT_DBTIMESTAMP2 veya DT_DBTIME2 dışında bir türde ise, bunlar karşılaştırılır önce ifadeler DT_DBTIMESTAMP veri türüne dönüştürülür.

    Ifadeler karşılaştırırken, sistemde aşağıdaki varsayımlar yapar:

    • Her ifade kesirli saniye içeren bir veri türü, veri, en az ile türü sistem varsayar basamak kesirli saniye sayısı için kalan sayı sıfır vardır.

    • Her ifade bir Tarih veri türü, ancak tek bir saat dilimi uzaklığı sahip, sistem saat dilimi uzaklığı olmadan tarih veri türü Koordinatlı Evrensel Saat'e (UTC) varsayar.

Veri türleri hakkında daha fazla bilgi için bkz: Tümleştirme Hizmetleri veri türleri.

Örnekler

Bu örnek, veren koşullu ifade gösterir. savannah veya unknown.

@AnimalName == "Elephant"? "savannah": "unknown"

Bu örnek, başvuran bir ifade gösterir bir ListPrice sütun.ListPrice DT_CY veri türü vardır.Koşullu ifade birbiriyle çarpar ListPrice .2 veya.1.

ListPrice < 350.00 ? ListPrice * .2 : ListPrice * .1