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

SQL Anywhere 12.0.0 (中文) » SQL Anywhere 服务器 - SQL 参考 » SQL 语言元素 » 表达式

 

CASE 表达式

CASE 表达式提供条件 SQL 表达式。Case 表达式可以在任何能够使用表达式的地方使用。

CASE 表达式的语法如下:

CASE expression
WHEN expression
THEN expression, ...
[ ELSE expression ]
{ END | END CASE }

如果 CASE 语句后的表达式等于 WHEN 语句后的表达式,则返回 THEN 语句后的表达式。否则,返回 ELSE 语句后的表达式(如果它存在)。

例如,以下代码用 CASE 表达式作为 SELECT 语句的第二个子句。

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;

也可以使用以下语法:

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

如果满足 WHEN 语句后的搜索条件,则返回 THEN 语句后的表达式。否则,返回 ELSE 语句后的表达式(如果它存在)。

例如,以下语句使用 CASE 表达式作为 SELECT 语句的第三子句,以将字符串与搜索条件相关联。

SELECT ID, Name,
   ( CASE
      WHEN Name='Tee Shirt' then 'Sale'
      WHEN Quantity >= 50  then 'Big Sale'
      ELSE 'Regular price'
   END ) as Type
FROM Products;
 用于简写 CASE 表达式的 NULLIF 函数
 标准和兼容性