CASE Ç¥Çö½ÄÀ» ÅëÇØ Ç¥Çö½Ä¿¡¼ IF ... THEN ... ELSE ³í¸®¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
°£´ÜÇÑ CASE Ç¥Çö½Ä¿¡¼ CASE´Â exprÀÌ comparison_exprÀ̸é return_exprÀ» ¹ÝȯÇϴ ù¹øÂ° WHEN ... THEN ½ÖÀ» °Ë»öÇÕ´Ï´Ù. ÀÌ Á¶°ÇÀ» ÃæÁ·ÇÏ´Â WHEN ... THEN ½ÖÀÌ ¾øÀ» °æ¿ì ELSE ÀýÀÌ Á¸ÀçÇϸé CASE´Â else_exprÀ» ¹ÝȯÇÕ´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é CASE´Â ³ÎÀ» ¹ÝȯÇÕ´Ï´Ù.
°Ë»öµÈ CASE Ç¥Çö½Ä¿¡¼ CASE´Â trueÀ̸é return_exprÀ» ¹ÝȯÇÏ´Â conditionÀ» ãÀ» ¶§±îÁö ¿ÞÂÊ¿¡¼ ¿À¸¥ÂÊÀ¸·Î °Ë»öÇÕ´Ï´Ù. trueÀÎ conditionÀ» ãÀ» ¼ö ¾ø°í ELSE ÀýÀÌ Á¸ÀçÇÒ °æ¿ì CASE´Â else_exprÀ» ¹ÝȯÇÕ´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é CASE´Â ³ÎÀ» ¹ÝȯÇÕ´Ï´Ù.
else_expression Àμö¿Í µ¿ÀÏÇÕ´Ï´Ù.
CASE { simple_case_expression
| searched_case_expression
}
[ ELSE else_expression ]
END
simple_case_expression::=
expr WHEN comparison_expr
THEN return_expr
[ WHEN comparison_expr
THEN return_expr ]...
searched_case_expression::=
WHEN condition THEN return_expr
[ WHEN condition THEN return_expr ]...
exprÀº Æò°¡µÇ´Â ±âº» Ç¥Çö½ÄÀÔ´Ï´Ù.
comparison_exprÀº exprÀÌ Æò°¡µÇ´Â Ç¥Çö½ÄÀÔ´Ï´Ù. ÀÌ Ç¥Çö½ÄÀº expr°ú µ¿ÀÏÇÑ ±âº» µ¥ÀÌÅÍ À¯Çü(¼ýÀÚ ¶Ç´Â ÅØ½ºÆ®)À̾î¾ß ÇÕ´Ï´Ù.
conditionÀº Á¶°Ç Ç¥Çö½ÄÀÔ´Ï´Ù.
return_exprÀº ÀÏÄ¡ Ç׸ñÀ» ã°Å³ª Á¶°ÇÀÌ trueÀÏ ¶§ ¹ÝȯµÇ´Â °ªÀÔ´Ï´Ù.
´ÙÀ½ ¸í·É¹®Àº credit_limitÀÇ °ª¿¡ µû¶ó Low, Medium ¶Ç´Â High¸¦ ¹ÝȯÇÕ´Ï´Ù.
CASE credit_limit WHEN 100 THEN 'Low' WHEN 5000 THEN 'High' ELSE 'Medium'
´ÙÀ½ ¸í·É¹®Àº 2000º¸´Ù Å©°Å³ª °°À» ¶§ ½ÇÁ¦ ±Þ¿©¸¦ ¹ÝȯÇϰí, 2000 ¹Ì¸¸ÀÏ ¶§ 2000À» ¹ÝȯÇÕ´Ï´Ù.
CASE WHEN salary > 2000 THEN salary ELSE 2000 END
Copyright © 2003, 2007, Oracle. All rights reserved.