Aracılığıyla paylaş


? : (Koşullu) (SSIS ifade)

Değerlendirmeye dayanarak iki ifadeler birini döndüren bir Boole ifade.Boole ifadesi İlk ifadesi değerlendirilir ve sonuç ifade sonucudur, true deðerini verir.Boole ifade İkinci ifade değerlendirilir ve sonucu olan deyimin sonucu false olarak değerlendirir.

Sözdizimi


boolean_expression?expression1:expression2
        

Bağımsız değişkenler

  • boolean_expression
    Herhangi bir geçerli ifade true, false ya da null değerlendirir.

  • expression1
    Herhangi bir geçerli ifade.

  • expression2
    Herhangi bir geçerli ifade.

Sonuç türleri

Veri türü expression1 veya expression2.

Açıklamalar

If the boolean_expression evaluates to NULL, the expression result is NULL.Seçili bir ifade, ya da expression1 veya expression2 , null null. sonucudurSeçili bir ifade null olduğu halde seçili null biridir, seçilen deyimin deðeri sonucudur.

If expression1 and expression2 have the same data type, the result is that data type.Sonuç türleri için aşağıdaki ek kurallar uygulanır:

  • dt_text veri türü gerektiren expression1 ve expression2 vardır aynı kod sayfa.

  • Uzun bağımsız değişkeninin uzunluğu dt_bytes veri türü olan bir sonuç uzunluğudur.

İfade küme, expression1 ve expression2, gerekir geçerli veri türleri değerlendirmek ve bu kurallar birini izleyin:

  • Sayısalhem expression1 ve expression2 olması bir sayısal veri türü.Veri türlerinin kesişim ifade değerlendirici gerçekleştiren sayısal örtük dönüştürmeler hakkında kurallarında belirtildiği gibi bir sayısal veri türü olmalıdır.İki sayısal veri türlerinin kesişim null olamaz.Daha fazla bilgi için bkz: İfadelerde örtülü veri türü dönüştürme.

  • Dizehem expression1 ve expression2 bir dize veri türü olmalıdır: dt_str veya dt_wstr.Farklı dize veri türleri için iki deyimi değerlendirir.Sonuç uzun bağımsız değişkeninin uzunluğu olan dt_wstr veri türü vardır.

  • Tarih, saat veya tarih/saathem expression1 ve expression2 aşağıdaki veri türlerinden biri olarak değerlendirmek gerekir: dt_dbdate dt_date, DT_DBTIME, DT_DBTIME2, DT_DBTIMESTAMP, DT_DBTIMESTAMP2, DT_DBTIMESTAPMOFFSET ve DT_FILETIME.

    Not

    Sistem bir saat verilerini değerlendirir bir deyim arasındaki karşılaştırmaları desteklemiyor ve bir tarih veya tarih/saat veri sonucunu veren bir ifade yazın.Sistem bir hata üretir.

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

    • İki ifadeler değerlendirmek için aynı veri türünde veri türü bir karşılaştırma gerçekleştirilir.

    • Bir ifade 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: İfadelerde Tümleştirme Hizmetleri veri türleri.

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

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

    İfadeleri karşılaştırırken, sistem aşağıdaki varsayımlar yapar:

    • Her, ifade Kesirli saniye içeren bir veri türü olan sistem veri en az yazın varsayar basamak Kesirli saniye için sıfır kalan sayılar için vardır.

    • Her, ifade tarih veri türü olsa da, sistem saat dilimi uzaklığı sahip yalnızca bir saat dilimi uzaklığı eşgüdümlü evrensel saat (utc) olmayan tarih veri türü varsayar.

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

Örnekler

Bu örnek için koşullu sonucunu veren bir ifade gösterir savannah veya unknown.

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

Başvuran bir ifade bu örnek gösteren bir ListPrice sütun.ListPrice dt_cy veri türüne sahip.Koşullu ifade çarpar ListPrice .2 veya.1.

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