zoukankan      html  css  js  c++  java
  • SQL Server(00):逻辑函数

    IIF: 根据布尔表达式计算为 true 还是 false,返回其中一个值。

          IIF 是一种用于编写 CASE 表达式的快速方法。 它将传递的布尔表达式计算为第一个参数,然后根据计算结果返回其他两个参数之一。也即,如果布尔表达式为 true,则返回 true_value;如果布尔表达式为 false 或未知,则返回 false_value。 true_value 和 false_value 可以是任何类型。

    语法:

    IIF ( boolean_expression, true_value, false_value )

    举例:

    DECLARE @a int = 45, @b int = 40;  
    SELECT IIF ( @a > @b, 'TRUE', 'FALSE' ) AS Result;

    CHOOSE: 从值列表返回指定索引处的项。

          CHOOSE 像索引一样进入数组中,其中,数组由跟在索引参数之后的各参数组成。 索引参数确定将返回以下哪些值。从 1 开始的索引

    语法:

    CHOOSE ( index, val_1, val_2 [, val_n ] )

    举例:下面的示例从所提供的值列表中返回第三项。

    SELECT CHOOSE ( 3, 'Manager', 'Director', 'Developer', 'Tester' ) AS Result;  --返回Developer

    举例:以下示例返回雇佣员工时的季度。 MONTH 函数用于从 HireDate 列返回月份值。

    USE AdventureWorks2012;  
    GO  
    SELECT JobTitle, HireDate, CHOOSE(MONTH(HireDate),'Winter','Winter', 'Spring','Spring','Spring','Summer','Summer',   
                                                      'Summer','Autumn','Autumn','Autumn','Winter') AS Quarter_Hired  
    FROM HumanResources.Employee  
    WHERE  YEAR(HireDate) > 2005  
    ORDER BY YEAR(HireDate);

    COALESCE: 按顺序计算变量并返回第一个不等于 NULL 的第一个表达式的当前值

    例如,SELECT COALESCE(NULL, NULL, 'third_value', 'fourth_value'); 返回第三个值,因为第三个值是首个为非 Null 的值。如果所有参数都为 NULL,则 COALESCE 返回 NULL

    语法:

    COALESCE ( expression [ ,...n ] )

    举例:

    SELECT Name, Color, ProductNumber, COALESCE(Color, ProductNumber) AS FirstNotNull FROM Products ;

    image

    NULLIF:如果两个指定的表达式相等,则返回空值。如果两个表达式不相等,则 NULLIF 返回第一个 expression 的值。

          例如,SELECT NULLIF(4,4) AS Same, NULLIF(5,7) AS Different; 为第一列(4 和 4)返回 NULL,因为两个输入值相同。 第二列返回第一个值 (5),因为两个输入值不同。

    举例:

    SELECT AVG(NULLIF(COALESCE(current_year, previous_year), 0.00)) AS 'Average Budget' FROM budgets;
  • 相关阅读:
    c++基类和派生类的框架
    从文件读入7个数并排序
    字符串复制函数-简单
    c++函数模板-简单
    用初始化列表解决常私有变量问题-简单
    分配和释放内存-简单
    结构体小程序-简单
    转化的力量
    初次创业需要注意的几点
    重生的2014下半年的起点
  • 原文地址:https://www.cnblogs.com/springsnow/p/10334721.html
Copyright © 2011-2022 走看看