Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.0 (Deutsch) » SQL Anywhere Server - SQL-Referenzhandbuch » SQL-Sprachelemente » Ausdrücke

 

CASE-Ausdrücke

Der CASE-Ausdruck ermöglicht bedingte SQL-Ausdrücke. CASE-Ausdrücke können überall dort eingesetzt werden, wo Ausdrücke verwendet werden können.

Dies ist die Syntax des CASE-Ausdrucks:

CASE Ausdruck
WHEN Ausdruck
THEN Ausdruck, ...
[ ELSE Ausdruck ]
{ END | END CASE }

Falls der Ausdruck, der der CASE-Anweisung folgt, gleich dem Ausdruck ist, der der WHEN-Anweisung folgt, wird der Ausdruck zurückgegeben, der der THEN-Anweisung folgt. Andernfalls wird der Ausdruck, der der ELSE-Anweisung folgt, zurückgegeben, falls sie vorhanden ist.

Der folgende Code verwendet zum Beispiel eine CASE-Anweisung als zweite Klausel in einer SELECT-Anweisung.

SELECT ID,
   ( CASE Name
      WHEN 'Tee Shirt' then 'Shirt'
      WHEN 'Sweatshirt' then 'Shirt'
      WHEN 'Baseball Cap' then 'Hat'
      ELSE 'Unknown'
   END ) as Type
FROM Products;

Dies ist eine alternative Syntax:

CASE
WHEN Suchbedingung
THEN Ausdruck, ...
[ ELSE Ausdruck ]
END [ CASE ]

Falls die Suchbedingung erfüllt wird, die der WHEN-Anweisung folgt, wird der Ausdruck zurückgegeben, der der THEN-Anweisung folgt. Andernfalls wird der Ausdruck, der der ELSE-Anweisung folgt, zurückgegeben, falls sie vorhanden ist.

Die folgende Anweisung verwendet zum Beispiel einen CASE-Ausdruck als dritte Klausel einer SELECT-Anweisung, um eine Zeichenfolge einer Suchbedingung zuzuordnen.

SELECT ID, Name,
   ( CASE
      WHEN Name='Tee Shirt' then 'Sale'
      WHEN Quantity >= 50  then 'Big Sale'
      ELSE 'Regular price'
   END ) as Type
FROM Products;
 NULLIF-Funktion für abgekürzte CASE-Ausdrücke
 Standards und Kompatibilität