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 相关文章推荐
【HBU】数据库第四周 单表查询
Apr 05 SQL Server
SQL SERVER中常用日期函数的具体使用
Apr 08 SQL Server
解决sql server 数据库,sa用户被锁定的问题
Jun 11 SQL Server
SQL Server中使用判断语句(IF ELSE/CASE WHEN )案例
Jul 07 SQL Server
SQL写法--行行比较
Aug 23 SQL Server
MySQL 中如何归档数据的实现方法
Mar 16 SQL Server
MSSQL基本语法操作
Apr 11 SQL Server
SQL Server 忘记密码以及重新添加新账号
Apr 26 SQL Server
SQL Server使用PIVOT与unPIVOT实现行列转换
May 25 SQL Server
在SQL Server中使用 Try Catch 处理异常的示例详解
Jul 15 SQL Server
SqlServer常用函数及时间处理小结
May 08 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_Flame(Version:Progress)的原代码
2006/10/09 PHP
PHP中unset,array_splice删除数组中元素的区别
2014/07/28 PHP
浅谈PHP正则表达式中修饰符/i, /is, /s, /isU
2014/10/21 PHP
Nginx环境下PHP flush失效的解决方法
2016/10/19 PHP
Yii2实现多域名跨域同步登录退出
2017/02/04 PHP
PHP实现绘制二叉树图形显示功能详解【包括二叉搜索树、平衡树及红黑树】
2017/11/16 PHP
PHP函数积累总结
2019/03/19 PHP
laravel5.2表单验证,并显示错误信息的实例
2019/09/29 PHP
jquery刷新页面的实现代码(局部及全页面刷新)
2011/07/11 Javascript
JQuery的$和其它JS发生冲突的快速解决方法
2014/01/24 Javascript
js完美实现@提到好友特效(兼容各大浏览器)
2015/03/16 Javascript
jquery popupDialog 使用 加载jsp页面的方法
2016/10/25 Javascript
详解vue-cli + webpack 多页面实例配置优化方法
2017/07/13 Javascript
基于Node.js模板引擎教程-jade速学与实战1
2017/09/17 Javascript
javascript中神奇的 Date对象小结
2017/10/12 Javascript
浅谈vue中使用图片懒加载vue-lazyload插件详细指南
2017/10/23 Javascript
浅谈Vue的加载顺序探讨
2017/10/25 Javascript
vue.js 使用axios实现下载功能的示例
2018/03/05 Javascript
详解使用 Node.js 开发简单的脚手架工具
2018/06/08 Javascript
浅谈vue方法内的方法使用this的问题
2018/09/15 Javascript
TypeScript中的方法重载详解
2019/04/12 Javascript
mpvue 页面预加载新增preLoad生命周期的两种方式
2019/10/17 Javascript
浅谈vue中get请求解决传输数据是数组格式的问题
2020/08/03 Javascript
[01:05:29]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster BO3 第二场 1月24日
2021/03/11 DOTA
python中利用队列asyncio.Queue进行通讯详解
2017/09/10 Python
python实现windows下文件备份脚本
2018/05/27 Python
linux安装Python3.4.2的操作方法
2018/09/28 Python
python文字和unicode/ascll相互转换函数及简单加密解密实现代码
2019/08/12 Python
Groupon西班牙官方网站:在线优惠券和交易,节省高达70%
2021/03/13 全球购物
美国购买隐形眼镜网站:Lenses For Less
2020/07/05 全球购物
Java面试笔试题大全
2016/11/23 面试题
幼儿园教师考核制度
2014/02/01 职场文书
关于青春的演讲稿
2014/05/05 职场文书
小学六一儿童节活动开幕词
2016/03/04 职场文书
浅析Python中的套接字编程
2021/06/22 Python
基于JavaScript实现年月日三级联动
2021/06/22 Javascript