代码改变世界

T_SQL case 语法定义

  沐海  阅读(455)  评论(0编辑  收藏  举报

计算条件列表并返回多个可能结果表达式之一。

CASE 具有两种格式:

  • 简单 CASE 函数将某个表达式与一组简单表达式进行比较以确定结果。
  • CASE 搜索函数计算一组布尔表达式以确定结果。

两种格式都支持可选的 ELSE 参数。

主题链接图标 Transact-SQL 语法约定

Simple CASE function: CASE input_expression 
     WHEN when_expression THEN result_expression
    [ ...n ]
     [
    ELSE else_result_expression
     ]
END
Searched CASE function:
CASE
     WHEN Boolean_expression THEN result_expression
    [ ...n ]
     [
    ELSE else_result_expression
     ]
END
input_expression

使用简单 CASE 格式时所计算的表达式。input_expression 是任意有效的表达式

WHEN when_expression

使用简单 CASE 格式时要与 input_expression 进行比较的简单表达式。when_expression 是任意有效的表达式。input_expression 及每个 when_expression 的数据类型必须相同或必须是隐式转换的数据类型。

n

占位符,表明可以使用多个 WHEN when_expression THEN result_expression 子句或多个 WHEN Boolean_expression THEN result_expression 子句。

THEN result_expression

input_expression = when_expression 计算结果为 TRUE,或者 Boolean_expression 计算结果为 TRUE 时返回的表达式。result expression 是任意有效的表达式

ELSE else_result_expression

比较运算计算结果不为 TRUE 时返回的表达式。如果忽略此参数且比较运算计算结果不为 TRUE,则 CASE 返回 NULL。else_result_expression 是任意有效的表达式。else_result_expression 及任何 result_expression 的数据类型必须相同或必须是隐式转换的数据类型。

WHEN Boolean_expression

使用 CASE 搜索格式时所计算的布尔表达式。Boolean_expression 是任意有效的布尔表达式。

result_expressions 和可选 else_result_expression 的类型集中返回优先级最高的类型。有关详细信息,请参阅 数据类型优先级 (Transact-SQL)

简单 CASE 函数:

  • 计算 input_expression,然后按指定顺序对每个 WHEN 子句的 input_expression = when_expression 进行计算。
  • 返回 input_expression = when_expression 的第一个计算结果为 TRUE 的 result_expression
  • 如果 input_expression = when_expression 计算结果不为 TRUE,则在指定 ELSE 子句的情况下 SQL Server 2005 数据库引擎将返回 else_result_expression;若没有指定 ELSE 子句,则返回 NULL 值。

CASE 搜索函数:

  • 按指定顺序对每个 WHEN 子句的 Boolean_expression 进行计算。
  • 返回 Boolean_expression 的第一个计算结果为 TRUE 的 result_expression
  • 如果 Boolean_expression 计算结果不为 TRUE,则在指定 ELSE 子句的情况下 数据库引擎将返回 else_result_expression;若没有指定 ELSE 子句,则返回 NULL 值。
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述
记录生活、工作、学习点滴!
E-Mail:mahaisong@hotmail.com 欢迎大家讨论。
沐海博客园,我有一颗,卓越的心!
点击右上角即可分享
微信分享提示