sql中的case函数

功能

计算条件列表,并返回多个可能的结果表达式之一。可以在sql中对字段进行简单的处理。

语法

case语句有简单表达式和搜索表达式两种用法,格式如下:
--Simple CASE expression: 
CASE input_expression   
     WHEN when_expression THEN result_expression [ ...n ]   
     [ ELSE else_result_expression ]   
END   
--Searched CASE expression:  
CASE  
     WHEN Boolean_expression THEN result_expression [ ...n ]   
     [ ELSE else_result_expression ]   
END 

CASE 简单表达式的工作方式如下:将第一个表达式与每个 WHEN 子句中的表达式进行比较,以确定它们是否等效。 如果这些表达式等效,将返回 THEN 子句中的表达式。

  • 仅用于等同性检查。
  • 按指定的顺序计算每个 WHEN 子句的 input_expression = when_expression。
  • 返回首个 input_expression = when_expression 的计算结果为 TRUE 的 result_expression。
  • 如果 input_expression = when_expression 的计算结果均不为 TRUE,则在指定了 ELSE 子句的情况下, SQL Server 数据库引擎 将返回 else_result_expression;若没有指定 ELSE 子句,则返回 NULL 值。

CASE 搜索表达式:

  • 按指定顺序对每个 WHEN 子句的 Boolean_expression 进行计算。
  • 返回首个 Boolean_expression 的计算结果为 TRUE 的 result_expression。
  • 如果 Boolean_expression 的计算结果均不为 TRUE,则在指定了 ELSE 子句的情况下, 数据库引擎 将返回 else_result_expression;若没有指定 ELSE 子句,则返回 NULL 值。

示例

简单表达式:
CASE ProductLine
    WHEN 'R' THEN 'Road'  
    WHEN 'M' THEN 'Mountain'  
    WHEN 'T' THEN 'Touring'  
    WHEN 'S' THEN 'Other sale items'  
    ELSE 'Not for sale'  
END

搜索表达式:

CASE
    WHEN MIN(value) <= 0 THEN 0   
    WHEN MAX(1/value) >= 100 THEN 1   
END
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值