Aracılığıyla paylaş


? : (Koşullu) (SSIS ifade)

İki deyim bir Boolean deyim değerlendirmesine dayanarak birini döndürür. Boolean deyim doğru olarak değerlendirilirse, ilk ifade değerlendirilir ve sonuç ifade sonucudur. Boolean deyim yanlış olarak değerlendirilirse ikinci ifade değerlendirilir ve sonucu ifade sonucudur.

Sözdizimi


boolean_expression?expression1:expression2
        

Bağımsız değişkenler

  • boolean_expression
    DOĞRU yanlış veya boş olarak değerlendirir, geçerli herhangi bir ifade olduğunu.

  • expression1
    Geçerli herhangi bir ifade iş.

  • expression2
    Geçerli herhangi bir ifade iş.

Sonuç türleri

Veri türü expression1 ya expression2.

Açıklamalar

Eğer boolean_expressionnull olarak değerlendirir ifade sonuç null olur. Seçili bir ifade, ya da expression1ya expression2 NULL, sonuç null olur. Seçili bir ifade null değil, ancak bir işaretli boş olduğunu, seçili ifade sonucudur.

Eğer expression1ve expression2 var aynı veri türü, sonucu olan veri türünün. Sonuç türleri için aşağıdaki ek kurallar uygulanır:

  • dt_text veri türü gerektiren expression1ve expression2 aynı kod sayfasını vardır.

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

İfade ayarlayın, expression1ve expression2gerekir geçerli veri türlerini değerlendirmek ve bu kuralları izleyin:

  • Sayısal hem expression1ve expression2bir sayısal veri türü olmalıdır. Veri türlerinin kesişim hakkında örtülü sayısal Dönüşümlerini ifade değerlendirici gerçekleştiren kuralları'nda belirtilen sayısal veri türü olmalıdır. İki sayısal veri türlerinin kesişim null olamaz. Daha fazla bilgi için, bkz. Implicit Data Type Conversion in Expressions.

  • Dize hem expression1ve expression2bir dize veri türü olmalıdır: dt_str veya dt_wstr. Iki ifadeler farklı dize veri türleri için değerlendirebilirsiniz. Sonuçta uzun bağımsız değişkeninin uzunluğu olan dt_wstr veri türü vardır.

  • Tarih, Saat veya Tarih ve Saat hem expression1ve expression2Aşağıdaki veri türlerinden biri olarak değerlendirmelidir: dt_dbdate dt_date, DT_DBTIME DT_DBTIME2, DT_DBTIMESTAMP DT_DBTIMESTAMP2, DT_DBTIMESTAPMOFFSET, veya DT_FILETIME.

    [!NOT]

    Sistem bir saat verileri değerlendirir bir deyim arasındaki karşılaştırmaları desteklemiyor türü ve bir tarih veya Tarih/Saat veri değerlendirir bir deyim yazın. Sistemde bir hata üretir.

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

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

    • Bir deyim DT_DBTIMESTAMPOFFSET veri türü ise diğer 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. Tümleştirme Hizmetleri veri türleri ifadeleri.

    • Bir deyim DT_DBTIMESTAMP2 veri türü ise diğer ifade DT_DBTIMESTAMP2 ve karşılaştırma gerçekleştirilir DT_DBTIMESTAMP2 örtülü olarak dönüştürülür.

    • Bir deyim DT_DBTIME2 veri türü ise diğer 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 deyim DT_DBTIMESTAMPOFFSET, DT_DBTIMESTAMP2 veya DT_DBTIME2 dışında bir türde ise, önce onlar karşılaştırılır ifadeleri DT_DBTIMESTAMP veri türü dönüştürülür.

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

    • Her deyim Kesirli saniye içeren veri türü ise, sistem verileri en az yazın varsayar basamak Kesirli saniye sıfır kalan basamakları için vardır.

    • Her ifadeyi Tarih veri türü, ama sadece bir saat dilimi uzaklığı, sistem saat dilimi uzaklığı olmadan Tarih veri türü Evrensel Saat'e (utc) olduğunu varsayar.

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

Örnekler

Koşullu sonucunu veren bir ifade bu örnek savannahya unknown.

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

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

Bu örnek ifade başvuran gösterir bir ListPrice sütun. ListPrice dt_cy veri türü vardır. Koşullu ifade çarpar ListPrice .2 ya da 1.

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

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

Ayrıca bkz.

Kavramlar

Işleç önceliği ve ilişkilendirililebilirliğini

Diğer Kaynaklar

Operatörler (SSIS ifade)