SQL Server中的逻辑函数介绍


Posted in SQL Server onMay 25, 2022

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 ;

SQL Server中的逻辑函数介绍

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;

到此这篇关于SQL Server逻辑函数的文章就介绍到这了。


Tags in this post...

SQL Server 相关文章推荐
SQL Server2019数据库之简单子查询的具有方法
Apr 27 SQL Server
解决sql server 数据库,sa用户被锁定的问题
Jun 11 SQL Server
SQL SERVER实现连接与合并查询
Feb 24 SQL Server
使用SQL实现车流量的计算的示例代码
Feb 28 SQL Server
SQL Server数据库基本概念、组成、常用对象与约束
Mar 20 SQL Server
sqlserver连接错误之SQL评估期已过的问题解决
Mar 23 SQL Server
sql server偶发出现死锁的解决方法
Apr 10 SQL Server
使用 MybatisPlus 连接 SqlServer 数据库解决 OFFSET 分页问题
Apr 22 SQL Server
SQL Server中的逻辑函数介绍
May 25 SQL Server
SQL Server携程核心系统无感迁移到MySQL实战
Jun 01 SQL Server
在SQL Server中使用 Try Catch 处理异常的示例详解
Jul 15 SQL Server
SQL bool盲注和时间盲注详解
Jul 23 SQL Server
SQL Server删除表中的重复数据
May 25 #SQL Server
SQL Server中T-SQL标识符介绍与无排序生成序号的方法
May 25 #SQL Server
SQL Server一个字符串拆分多行显示或者多行数据合并成一个字符串
May 25 #SQL Server
SQL Server使用CROSS APPLY与OUTER APPLY实现连接查询
May 25 #SQL Server
SQL Server使用PIVOT与unPIVOT实现行列转换
May 25 #SQL Server
SQL SERVER中的流程控制语句
May 25 #SQL Server
SQL Server中搜索特定的对象
May 25 #SQL Server
You might like
博士208HAF收音机实习报告
2021/03/02 无线电
用PHP控制用户的浏览器--ob*函数的使用说明
2007/03/16 PHP
php连接mysql数据库代码
2009/03/10 PHP
PHP用SAX解析XML的实现代码与问题分析
2011/08/22 PHP
解析php取整的几种方式
2013/06/25 PHP
PHP判断文章里是否有图片的简单方法
2014/07/26 PHP
php利用cookies实现购物车的方法
2014/12/10 PHP
php自定义urlencode,urldecode函数实例
2015/03/24 PHP
php实现屏蔽掉黑帽SEO的搜索关键字
2015/04/15 PHP
PHP使用Redis长连接的方法详解
2018/02/12 PHP
javascript简单事件处理和with用法介绍
2013/09/16 Javascript
自己动手写的jquery分页控件(非常简单实用)
2015/10/28 Javascript
Vue.js实战之Vuex的入门教程
2017/04/01 Javascript
VueJS 集成 Medium Editor的示例代码 (自定义编辑器按钮)
2017/08/24 Javascript
Vue.js简易安装和快速入门(第二课)
2017/10/17 Javascript
快速处理vue渲染前的显示问题
2018/03/05 Javascript
JS中的两种数据类型及实现引用类型的深拷贝的方法
2018/08/12 Javascript
vue中的过滤器实例代码详解
2019/06/06 Javascript
node后端服务保活的实现
2019/11/10 Javascript
webpack 最佳配置指北(推荐)
2020/01/07 Javascript
vue全屏事件开发详解
2020/06/17 Javascript
浅谈vue中document.getElementById()拿到的是原值的问题
2020/07/26 Javascript
[14:00]DOTA2国际邀请赛史上最长大战 赛后专访B神
2013/08/10 DOTA
[01:42]辉夜杯战队访谈宣传片—FANTUAN
2015/12/25 DOTA
[51:44]2018DOTA2亚洲邀请赛 4.3 突围赛 Optic vs iG 第二场
2018/04/04 DOTA
Python实现的Excel文件读写类
2015/07/30 Python
Python备份目录及目录下的全部内容的实现方法
2016/06/12 Python
Python操作mongodb的9个步骤
2018/06/04 Python
python matlibplot绘制3D图形
2018/07/02 Python
python发送告警邮件脚本
2018/09/17 Python
Flask之请求钩子的实现
2018/12/23 Python
python json load json 数据后出现乱序的解决方案
2020/02/27 Python
机械专业应届毕业生自荐书
2014/06/12 职场文书
协议书范文
2015/01/27 职场文书
2015年社区党建工作汇报材料
2015/06/25 职场文书
浅谈Laravel中使用Slack进行异常通知
2021/05/29 PHP