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

SAP Sybase SQL Anywhere 16.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 expression-1
WHEN expression-2
THEN expression-3, ...
[ ELSE expression-4 ]
{ END | END CASE }

Falls der Ausdruck, der der CASE-Klausel folgt, gleich dem Ausdruck ist, der der WHEN-Klausel 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 CASE-Ausdruck gibt NULL zurück, wenn die ELSE-Klausel nicht vorhanden ist und expression-1 zu keinem der Werte expression-2...expression-n passt.

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 GROUPO.Products;

Dies ist eine alternative Syntax:

CASE
WHEN search-condition
THEN expression-1, ...
[ ELSE expression-2 ]
END [ CASE ]

Falls die Suchbedingung erfüllt wird, die der WHEN-Klausel 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 GROUPO.Products;
 NULLIF-Funktion für abgekürzte CASE-Ausdrücke
 Standards und Kompatibilität
 Siehe auch