CASE (Snowflake Scripting)¶
Eine CASE-Anweisung bietet die Möglichkeit, mehrere Bedingungen anzugeben.
Weitere Informationen zu Verzweigungskonstrukten finden Sie unter Verwenden von bedingter Logik.
Bemerkung
Dieses Snowflake Scripting-Konstrukt ist nur innerhalb eines Snowflake Scripting-Blocks gültig.
Syntax¶
Einfache CASE-Anweisung:
Wobei:
expression_to_matchDer auf Übereinstimmung zu prüfende Ausdruck.
expressionWenn der Wert dieses Ausdrucks mit dem Wert von
expression_to_matchübereinstimmt, dann werden die Anweisungen in dieser Klausel ausgeführt.
statementFolgende Typen von Anweisungen sind möglich:
Eine einzelne SQL-Anweisung (einschließlich CALL)
Eine Ablaufsteuerungsanweisung (z. B. eine Schleife oder Verzweigung)
Ein verschachtelter Block
Durchsuchte CASE-Anweisung:
Wobei:
boolean_expressionWenn dieser Ausdruck TRUE ergibt, werden die Anweisungen in dieser Klausel ausgeführt.
statementFolgende Typen von Anweisungen sind möglich:
Eine einzelne SQL-Anweisung (einschließlich CALL)
Eine Ablaufsteuerungsanweisung (z. B. eine Schleife oder Verzweigung)
Ein verschachtelter Block
Nutzungshinweise¶
Wenn mehr als ein
CASE-Zweig mit dem Ausdruck übereinstimmen würde, wird nur der erste verwendet.Wenn Sie Ausdrücke vergleichen, stimmt NULL nicht mit NULL überein. Wenn Sie explizit auf NULL-Werte testen möchten, verwenden Sie IS [ NOT ] NULL.
Beispiele¶
In diesem Beispiel wird eine einfache CASE-Anweisung verwendet:
Note: If you use Snowflake CLI, SnowSQL, the Classic Console, or the
execute_streamorexecute_stringmethod in Python Connector code, use this example instead (see Using Snowflake Scripting in Snowflake CLI, SnowSQL, and Python Connector):
Wenn Sie diese gespeicherte Prozedur aufrufen, erzeugt die Prozedur die folgende Ausgabe:
Im folgenden Beispiel wird eine durchsuchte CASE-Anweisung verwendet:
Note: If you use Snowflake CLI, SnowSQL, the Classic Console, or the
execute_streamorexecute_stringmethod in Python Connector code, use this example instead (see Using Snowflake Scripting in Snowflake CLI, SnowSQL, and Python Connector):
Wenn Sie diese gespeicherte Prozedur aufrufen, erzeugt die Prozedur die folgende Ausgabe: