CASE 式は条件付きの SQL 式を提供します。CASE 式は、式が使用できればどこでも使用できます。
CASE 式の構文は、次のとおりです。
CASE expression-1 WHEN expression-2 THEN expression-3, ... [ ELSE expression-4 ] { END | END CASE }
CASE 句に続く式が WHEN 句に続く式と等しい場合、THEN 文の後の式に復帰します。それ以外の場合、ELSE 文があればそれに続く式に復帰します。
ELSE 句が存在しなく、expression-1 が expression-2...expression-n のいずれの値とも一致しない場合、CASE 式は NULL を返します。
たとえば、次のコードでは CASE 式が SELECT 文の 2 番目の句として使用されています。
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; |
代替構文は、次のとおりです。
CASE WHEN search-condition THEN expression-1, ... [ ELSE expression-2 ] END [ CASE ]
WHEN 句の後の探索条件が満たされた場合、THEN 文に続く式に復帰します。それ以外の場合、ELSE 文があればそれに続く式に復帰します。
たとえば、次の文では、CASE 式が SELECT 文の 3 番目の句として使用され、探索条件と文字列を関連付けています。
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; |
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2013, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0 |