共用方式為


? : (條件式) (SSIS)

依據布林運算式的評估傳回兩個運算式的其中一個。如果布林運算式的評估結果為 TRUE,則會評估第一個運算式,且結果為運算式的結果。如果布林運算式的評估結果為 FALSE,則會評估第二個運算式,且其結果為運算式的結果。

語法


boolean_expression?expression1:expression2
        

引數

boolean_expression

評估為 TRUE、FALSE 或 NULL 的任何有效運算式。

expression1

任何有效的運算式。

expression2

任何有效的運算式。

結果類型

expression1expression2 的資料類型。如需詳細資訊,請參閱<Integration Services 資料類型>。

備註

expression1expression2 的評估結果必須為有效的資料類型。

如果 expression1expression2 的資料類型相同,則結果即為該資料類型。支援所有 SSIS 資料類型。適用下列其他規則:

  • DT_TEXT 資料類型需要 expression1expression2 擁有相同的字碼頁。
  • DT_BYTES 資料類型的結果,其長度為較長引數的長度。

如果 expression1expression2 的資料類型不同,則適用下列規則:

運算式集 expression1expression2 必須遵循下列規則之一:

  • 數值。expression1expression2 都必須是數值資料類型。資料類型的交集必須是運算式評估工具執行之隱含數值轉換規則中所指定的數值資料類型。兩個數值資料類型的交集不能是 Null。如需詳細資訊,請參閱<運算式中的資料類型轉換>。
  • 字串。expression1expression2 都必須是字串資料類型:DT_STR 或 DT_WSTR。兩個運算式可以評估為不同的字串資料類型。結果的資料類型為 DT_WSTR,且長度為較長引數的長度。
  • 日期。expression1expression2 都必須評估為下列其中一個日期資料類型:DT_DBDATE、DT_DATE、DT_DBTIME、DT_DBTIMESTAMP 或 DT_FILETIME。兩個運算式可以評估為不同的日期資料類型。結果的資料類型為 DT_DBTIMESTAMP。

如果 boolean_expression 的評估結果為 Null,則運算式結果為 Null。如果選取的運算式 (expression1expression2 ) 為 Null,則結果為 Null。如果選取的運算式不為 Null,但未選取的運算式為 Null,則結果為選取運算式的值。

範例

此範例顯示條件式地評估為 savannahunknown 的運算式。

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

此範例顯示參考 ListPrice 資料行的運算式。ListPrice 的資料類型為 DT_CY。此運算式會條件式地將 ListPrice 乘以 .2 或 .1。

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

請參閱

概念

運算子優先順序與關聯性

其他資源

運算子 (SSIS)

說明及資訊

取得 SQL Server 2005 協助