• T_SQL case 语法定义


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

    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 值。
  • 相关阅读:
    收集一些dos网络配置命令,从新获取ip刷新dns
    多个线程访问共享对象和数据的方式
    Oracle rownum 分页, 排序
    ORACLE中用rownum分页并排序的SQL语句
    CentOS 6.5安装MongoDB 2.6(多yum数据源)
    【编程练习】收集的一些c++代码片,算法排序,读文件,写日志,快速求积分等等
    java枚举使用详解
    PHP+MySQL动态网站开发从入门到精通(视频教学版)
    Premiere Pro CS6标准教程
    黑客攻防:实战加密与解密
  • 原文地址:https://www.cnblogs.com/mahaisong/p/2126019.html
Copyright © 2020-2023  润新知