Freigeben über


? : (Bedingt) (SSIS)

Gibt einen von zwei Ausdrücken basierend auf der Auswertung eines booleschen Ausdrucks zurück. Falls der boolesche Ausdruck zu TRUE ausgewertet wird, wird der erste Ausdruck ausgewertet, und das Ergebnis ist das Ausdrucksergebnis. Falls der boolesche Ausdruck zu FALSE ausgewertet wird, wird der zweite Ausdruck ausgewertet, und das Ergebnis ist das Ausdrucksergebnis.

Syntax


boolean_expression?expression1:expression2
        

Argumente

boolean_expression

Ein gültiger Ausdruck, der zu TRUE, FALSE oder NULL ausgewertet wird.

expression1

Ein gültiger Ausdruck.

expression2

Ein gültiger Ausdruck.

Ergebnistypen

Der Datentyp von expression1 oder expression2. Weitere Informationen finden Sie unter SQL Server Integration Services-Datentypen.

Hinweise

expression1 und expression2 müssen zu gültigen Datentypen ausgewertet werden.

Falls expression1 und expression2 vom gleichen Datentyp sind, gehört auch das Ergebnis zu diesem Datentyp. Alle SSIS-Datentypen werden unterstützt. Es gelten die folgenden zusätzlichen Regeln:

  • Für den DT_TEXT-Datentyp müssen expression1 und expression2 die gleiche Codepage aufweisen.
  • Die Länge eines Ergebnisses mit dem DT_BYTES-Datentyp ist die Länge des längeren Arguments.

Falls expression1 und expression2 unterschiedliche Datentypen aufweisen, gelten die folgenden Regeln:

Die Ausdrucksgruppe, expression1 und expression2, muss eine der folgenden Regeln einhalten:

  • Numerisch. expression1 und expression2 müssen einen numerischen Datentyp aufweisen. Die Schnittmenge der Datentypen muss ein numerischer Datentyp gemäß den Regeln zu den impliziten numerischen Konvertierungen sein, die die Ausdrucksauswertung ausführt. Die Schnittmenge der beiden numerischen Datentypen darf nicht NULL sein. Weitere Informationen finden Sie unter Datentypkonvertierung in Ausdrücken.
  • Zeichenfolge. expression1 und expression2 müssen einen Zeichenfolgen-Datentyp aufweisen: DT_STR oder DT_WSTR. Die beiden Ausdrücke können zu verschiedenen Zeichenfolgen-Datentypen ausgewertet werden. Das Ergebnis weist den DT_WSTR-Datentyp und die Länge des längeren Arguments auf.
  • Datum. expression1 und expression2 müssen zu einem der Datumsdatentypen ausgewertet werden: DT_DBDATE, DT_DATE, DT_DBTIME, DT_DBTIMESTAMP oder DT_FILETIME. Die beiden Ausdrücke können zu verschiedenen Datumsdatentypen ausgewertet werden. Das Ergebnis weist den DT_DBTIMESTAMP-Datentyp auf.

Falls boolean_expression zu NULL ausgewertet wird, lautet das Ergebnis des Ausdrucks NULL. Wenn ein ausgewählter Ausdruck, expression1 oder expression2 , NULL ist, lautet das Ergebnis NULL. Wenn ein ausgewählter Ausdruck ungleich NULL ist, aber der nicht ausgewählte Ausdruck NULL ist, besitzt das Ergebnis den Wert des ausgewählten Ausdrucks.

Beispiele

In diesem Beispiel wird ein Ausdruck angezeigt, der bedingt zu savannah oder unknown ausgewertet wird.

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

Dieses Beispiel zeigt einen Ausdruck, der auf eine ListPrice-Spalte verweist. ListPrice weist den DT_CY-Datentyp auf. Der Ausdruck multipliziert ListPrice bedingt mit .2 oder .1.

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

Siehe auch

Konzepte

Operatorenrangfolge und -assoziativität

Andere Ressourcen

Operatoren (SSIS)

Hilfe und Informationen

Informationsquellen für SQL Server 2005