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 Ausdruck-1 zu keinem der Werte Ausdruck-2...Ausdruck-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 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 Products; |
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |