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 像索引一样进入数组中,其中,数组由跟在索引参数之后的各参数组成。 索引参数确定将返回以下哪些值。从 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);
例如,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 ;
例如,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;
到此这篇关于SQL Server逻辑函数的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持。
相关文章:
1. Can’t connect to MySQL server on ’localhost’ (10048)2. SQL Server系统函数介绍3. SQL Server开发智能提示插件SQL Prompt介绍4. SQL Server序列SEQUENCE用法介绍5. 轻量级数据库SQL Server Express LocalDb介绍6. SQL Server2019安装的详细步骤实战记录(亲测可用)7. SQL Server数据库备份和恢复数据库的全过程8. SQL Server备份数据库的完整步骤9. SQL Server实现查询每个分组的前N条记录10. 详解SQL Server 中的 ACID 属性