CASE ranking
WHEN 1 THEN 'alpha'
WHEN 2 THEN 'beta'
WHEN 10 THEN 'charlie'
ELSE 'zelta'
END CASE;
WHENの式のいずれかを使用できますが、両方を混在させることはできません。
1)WHEN when_expressionは、単純なCASE形式が使用されている場合にinput_expressionが比較される単純な式です。 when_expressionは任意の有効な式です。 input_expressionと各when_expressionのデータ型は同じであるか、暗黙的な変換である必要があります。
2)WHENBoolean_expression検索されたCASE形式を使用するときに評価されるブール式です。 Boolean_expressionは、任意の有効なブール式です。
プログラムできます:
1)
CASE ProductLine
WHEN 'R' THEN 'Road'
WHEN 'M' THEN 'Mountain'
WHEN 'T' THEN 'Touring'
WHEN 'S' THEN 'Other sale items'
ELSE 'Not for sale'
2)
CASE
WHEN ListPrice = 0 THEN 'Mfg item - not for resale'
WHEN ListPrice < 50 THEN 'Under $50'
WHEN ListPrice >= 50 and ListPrice < 250 THEN 'Under $250'
WHEN ListPrice >= 250 and ListPrice < 1000 THEN 'Under $1000'
ELSE 'Over $1000'
END
ただし、いずれの場合も、変数のランク付けがブール式で比較されることが期待できます。
http://msdn.microsoft.com/en-us/library/ms181765 .aspx