条件函数

条件函数

说明

示例

CASE WHEN

简单 CASE 格式

input_exp 的值与 value_exp 参数的值进行比较来确定结果。

CASE input_exp
{WHEN value_exp THEN result...} [ELSE result]
END
复制
SELECT 
   Invoice_ID,
   CASE Company_Name
      WHEN 'Exports UK' THEN 'Exports UK Found'
      WHEN 'Home Furniture Suppliers' THEN 'Home Furniture Suppliers Found'
      ELSE 'Neither Exports UK nor Home Furniture Suppliers' 
      END,
   Salesperson_ID
FROM 
   Sales_Data

搜索的 CASE 格式

基于 WHEN 表达式指定的条件是否为 true,返回结果。

CASE 
{WHEN >boolean_exp THEN result...} [ELSE result]
END
复制
SELECT 
   Invoice_ID,
   Amount,
   CASE 
      WHEN Amount > 3000 THEN 'Above 3000'
      WHEN Amount < 1000 THEN 'Below 3000'
   ELSE 'Between 1000 and 3000' 
   END,
   Salesperson_ID
FROM 
   Sales_Data

COALESCE

返回不为 NULL 的第一个值

复制
SELECT
   Salesperson_ID,
   COALESCE(Sales_Manager, Salesperson)
FROM
   Salespeople

NULLIF

将两个值进行比较,如果两个值相等则返回 NULL;否则,返回第一个值

复制
SELECT
   Invoice_ID,
   NULLIF(Amount,  -1),
   Salesperson_ID
FROM
   Sales_Data