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中常用日期函数的具体使用
Apr 08 SQL Server
如何有效防止sql注入的方法
May 25 SQL Server
sql中mod()函数取余数的用法
May 29 SQL Server
SqlServer数据库远程连接案例教程
Jul 15 SQL Server
SQL中的三种去重方法小结
Nov 01 SQL Server
SQL Server2019数据库备份与还原脚本,数据库可批量备份
Nov 20 SQL Server
MySQL 中如何归档数据的实现方法
Mar 16 SQL Server
通过T-SQL语句创建游标与实现数据库加解密功能
Mar 16 SQL Server
SQL Server使用T-SQL语句批处理
May 20 SQL Server
SQL使用复合索引实现数据库查询的优化
May 25 SQL Server
SQL Server携程核心系统无感迁移到MySQL实战
Jun 01 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
php5中date()得出的时间为什么不是当前时间的解决方法
2008/06/30 PHP
PHP与C#分别格式化文件大小的代码
2011/05/14 PHP
怎么在Windows系统中搭建php环境
2013/08/31 PHP
PHP的构造方法,析构方法和this关键字详细介绍
2013/10/22 PHP
php在linux下检测mysql同步状态的方法
2015/01/15 PHP
PHP 常用的header头部定义汇总
2015/06/19 PHP
PHP信号量基本用法实例详解
2016/02/12 PHP
PHP多维数组排序array详解
2017/11/21 PHP
PHP性能分析工具xhprof的安装使用与注意事项
2017/12/19 PHP
PHP让数组中有相同值的组成新的数组实例
2017/12/31 PHP
javascript实现 在光标处插入指定内容
2007/05/25 Javascript
jquery.messager.js插件导致页面抖动的解决方法
2013/07/14 Javascript
js中对象的声明方式以及数组的一些用法示例
2013/12/11 Javascript
jquery easyui combox一些实用的小方法
2013/12/25 Javascript
jquery移动节点实例
2015/01/14 Javascript
Jquery解析json字符串及json数组的方法
2015/05/29 Javascript
在JavaScript应用中使用RequireJS来实现延迟加载
2015/07/01 Javascript
超实用的javascript时间处理总结
2016/08/16 Javascript
使用angular帮你实现拖拽的示例
2017/07/05 Javascript
微信小程序实现折叠面板
2018/01/31 Javascript
vue的webcamjs集成方式
2020/11/16 Javascript
python 实现归并排序算法
2012/06/05 Python
Python列表生成器的循环技巧分享
2015/03/06 Python
pyqt5 实现 下拉菜单 + 打开文件的示例代码
2019/06/20 Python
flask框架单元测试原理与用法实例分析
2019/07/23 Python
Django+uni-app实现数据通信中的请求跨域的示例代码
2019/10/12 Python
css3 实现滚动条美化效果的实例代码
2021/01/06 HTML / CSS
美国特价机票专家:Airfarewatchdog
2018/01/24 全球购物
三星法国官方网站:Samsung法国
2019/10/31 全球购物
几个判断型的面试题
2012/07/03 面试题
Exception类的常用方法
2012/06/16 面试题
专科生就业求职信
2014/06/22 职场文书
2014年企业团支部工作总结
2014/12/10 职场文书
2015年法律事务部工作总结
2015/07/27 职场文书
自愿离婚协议书范本2016
2016/03/18 职场文书
mysqldump进行数据备份详解
2022/07/15 MySQL