

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# switch
<a name="switch-function"></a>

`switch` vergleicht einen *condition-expression (Bedingungsausdruck)* mit den literalen Bezeichnungen innerhalb einer Reihe von Kombinationen aus literalen Bezeichnungen und *Rückgabeausdrücken.* Anschließend wird der *return-expression (Rückgabeausdruck)* zurückgegeben, der der ersten literalen Bezeichnung entspricht, die dem *Bedingungsausdruck* entspricht. Wenn kein Label dem *condition-expression* (Bedingungsausdruck) entspricht, gibt `switch` *default-expression* (Standardausdruck) zurück. Jeder *return-expression* (Rückgabeausdruck) und jeder *default-expression* (Standardausdruck) müssen denselben Datentyp haben.

## Syntax
<a name="switch-function-syntax"></a>

```
switch(condition-expression, label-1, return-expression-1 [, label-n, return-expression-n ...], 
        default-expression)
```

## Argumente
<a name="switch-function-arguments"></a>

`switch` erfordert mindestens ein oder mehrere *if*,*then*-Ausdruckspaar/e sowie genau einen Ausdruck für das *else*-Argument. 

 *condition-expression* (Bedingungsausdruck)   
Der Ausdruck, der mit den label-literals (Labelliteralen) verglichen werden soll. Es kann sich dabei um einen Feldnamen wie `address`, einen literalen Wert wie „`Unknown`“ oder um eine sakalare Funktion wie `toString(salesAmount)` handeln. 

 *Bezeichnung*   
Das Literal, das mit dem Argument *ondition-expression (Bedingungsausdruck)* verglichen werden soll. Alle Literale müssen denselben Datentyp wie das Argument *Bedingungsausdruck* haben. `switch` akzeptiert bis zu 5000 Bezeichnungen. 

 *return-expressio* (Rückgabeausdruck)   
Der Ausdruck, der zurückgegeben werden soll, wenn der Wert seiner Bezeichnung dem Wert des *condition-expression* (Bedingungsausdrucks) entspricht. Es kann sich dabei um einen Feldnamen wie `address`, einen literalen Wert wie „`Unknown`“ oder um eine sakalare Funktion wie `toString(salesAmount)` handeln. Alle *return-expression*-Argumente müssen vom gleichen Datentyp wie alle *default-expression*-Argumente sein.

 *default-expression* (Standardausdruck)   
Der Ausdruck, der zurückgegeben werden soll, wenn kein Wert eines Bezeichungsarguments dem Wert des *condition-expression* (Bedingungsausdrucks) entspricht. Es kann sich dabei um einen Feldnamen wie `address`, einen literalen Wert wie „`Unknown`“ oder um eine sakalare Funktion wie `toString(salesAmount)` handeln. Der *default-expression* muss vom gleichen Datentyp wie alle *return-expression*-Argumente sein.

## Rückgabetyp
<a name="switch-function-return-type"></a>

`switch` gibt einen Wert desselben Typs wie die Werte in *return-expression* zurück. Alle Daten, die *return-expression* (Rückgabeausdruck) und *default-expression* (Standardausdruck) zurückgeben, müssen denselben Datentyp haben oder in denselben Datentyp konvertiert werden. 

## Allgemeine Beispiele
<a name="switch-function-example"></a>

Das folgende Beispiel gibt den AWS-Region Code des Namens der Eingaberegion zurück. 

```
switch(region_name, 
               "US East (N. Virginia)", "us-east-1", 
               "Europe (Ireland)", "eu-west-1", 
               "US West (N. California)", "us-west-1", 
               "other regions")
```

Das Feld enthält folgende Werte.

```
"US East (N. Virginia)"
        "US West (N. California)"
        "Asia Pacific (Tokyo)"
```

Für diese Feldwerte werden die folgenden Ergebniswerte zurückgegeben.

```
"us-east-1"
        "us-west-1"
        "other regions"
```

## Verwenden Sie den Schalter zum Ersetzen von `ifelse`
<a name="switch-instead-of-ifelse"></a>

Der folgende Anwendungsfall `ifelse` entspricht dem vorherigen Beispiel, wobei `ifelse` bewertet, ob Werte eines Felds unterschiedlichen literalen Werten entsprechen, und `switch` stattdessen besser verwendet werden sollte.

```
ifelse(region_name = "US East (N. Virginia)", "us-east-1", 
               region_name = "Europe (Ireland)", "eu-west-1", 
               region_name = "US West (N. California)", "us-west-1", 
               "other regions")
```

## Ausdruck als Rückgabewert
<a name="switch-expression-as-return-value"></a>

Das folgende Beispiel verwendet Ausdrücke in *return-expressions* (Rückgabeausdrücken):

```
switch({origin_city_name}, 
               "Albany, NY", {arr_delay} + 20, 
               "Alexandria, LA", {arr_delay} - 10,
               "New York, NY", {arr_delay} * 2, 
               {arr_delay})
```

Im vorherigen Beispiel wird die erwartete Verspätungszeit für jeden Flug aus einer bestimmten Stadt geändert.

![\[Ein Image der Ergebnisse des Funktionsbeispiels in Tabellenform.\]](http://docs.aws.amazon.com/de_de/quick/latest/userguide/images/switch-function-example.png)
