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 Server基本使用和简单的CRUD操作
Apr 05 SQL Server
SqlServer 垂直分表(减少程序改动)
Apr 16 SQL Server
SQL语句中JOIN的用法场景分析
Jul 25 SQL Server
Sql Server之数据类型详解
Feb 28 SQL Server
详解在SQLPlus中实现上下键翻查历史命令的功能
Mar 18 SQL Server
SQL Server使用导出向导功能
Apr 08 SQL Server
使用 MybatisPlus 连接 SqlServer 数据库解决 OFFSET 分页问题
Apr 22 SQL Server
SQL Server #{}可以防止SQL注入
May 11 SQL Server
SQL Server 中的事务介绍
May 20 SQL Server
SQL Server使用CROSS APPLY与OUTER APPLY实现连接查询
May 25 SQL Server
SQL Server数据库备份和恢复数据库的全过程
Jun 14 SQL Server
详解SQL报错盲注
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
一段防盗连的PHP代码
2006/12/06 PHP
destoon整合UCenter图文教程
2014/06/21 PHP
php中get_object_vars()方法用法实例
2015/02/08 PHP
Laravel框架中实现使用阿里云ACE缓存服务
2015/02/10 PHP
php实现无限级分类(递归方法)
2015/08/06 PHP
JavaScript使用cookie
2007/02/02 Javascript
jquery自适应布局的简单实例
2016/05/28 Javascript
javascript基本语法
2016/05/31 Javascript
Javascript封装id、class与元素选择器方法示例
2017/03/13 Javascript
jQuery实现简单漂亮的Nav导航菜单效果
2017/03/29 jQuery
微信小程序开发图片拖拽实例详解
2017/05/05 Javascript
vue中使用mxgraph的方法实例代码详解
2019/05/17 Javascript
python定时检查启动某个exe程序适合检测exe是否挂了
2013/01/21 Python
Python中asyncore异步模块的用法及实现httpclient的实例
2016/06/28 Python
Python实现读取txt文件并画三维图简单代码示例
2017/12/09 Python
python实现类之间的方法互相调用
2018/04/29 Python
python实现汽车管理系统
2018/11/30 Python
Python通用循环的构造方法实例分析
2018/12/19 Python
Pytorch之view及view_as使用详解
2019/12/31 Python
Pandas时间序列:时期(period)及其算术运算详解
2020/02/25 Python
使用python绘制cdf的多种实现方法
2020/02/25 Python
Jupyter Notebook打开任意文件夹操作
2020/04/14 Python
TensorFlow keras卷积神经网络 添加L2正则化方式
2020/05/22 Python
Python创建自己的加密货币的示例
2021/03/01 Python
css3动画效果抖动解决方法
2018/09/03 HTML / CSS
销售部主管岗位职责
2013/12/18 职场文书
物理专业本科生自荐信
2014/01/30 职场文书
网络教育自我鉴定
2014/02/04 职场文书
2014村务公开实施方案
2014/02/25 职场文书
法人授权委托书
2014/04/03 职场文书
《独坐敬亭山》教学反思
2014/04/08 职场文书
环境保护建议书
2014/08/26 职场文书
大学生学年个人总结
2015/02/15 职场文书
支行行长岗位职责
2015/02/15 职场文书
2016父亲节感恩话语
2015/12/09 职场文书
导游词之襄阳古城
2019/09/27 职场文书