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 05 SQL Server
SQLServer2008提示评估期已过解决方案
Apr 12 SQL Server
sql字段解析器的实现示例
Jun 23 SQL Server
SQL 尚未定义空闲 CPU 条件 - OnIdle 作业计划将不起任何作用
Jun 30 SQL Server
数据库之SQL技巧整理案例
Jul 07 SQL Server
利用 SQL Server 过滤索引提高查询语句的性能分析
Jul 15 SQL Server
SQLServer中exists和except用法介绍
Dec 04 SQL Server
SQL CASE 表达式的具体使用
Mar 21 SQL Server
SQL Server的存储过程与触发器以及系统函数和自定义函数
Apr 10 SQL Server
SQLServer权限之只开启创建表权限
Apr 12 SQL Server
SQL中的连接查询详解
Jun 21 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面向对象全攻略 (十四) php5接口技术
2009/09/30 PHP
PHP 文件上传全攻略
2010/04/28 PHP
php学习笔记 面向对象的构造与析构方法
2011/06/13 PHP
PHP中shuffle数组值随便排序函数用法
2014/11/21 PHP
php实现将数组转换为XML的方法
2015/03/09 PHP
PHP使用curl_multi实现并发请求的方法示例
2018/04/29 PHP
jQuery源码分析-04 选择器-Sizzle-工作原理分析
2011/11/14 Javascript
用javascript模仿ie的自动完成类似自动完成功的表单
2012/12/12 Javascript
删除节点的jquery代码
2014/01/13 Javascript
Javascript中Array用法实例分析
2015/06/13 Javascript
跟我学习javascript的异步脚本加载
2015/11/20 Javascript
微信小程序 Audio API详解及实例代码
2016/09/30 Javascript
JS中with的替代方法与String中的正则方法详解
2016/12/23 Javascript
jquery实现拖动效果(代码分享)
2017/01/25 Javascript
JS中offset和匀速动画详解
2018/02/06 Javascript
微信小程序canvas实现刮刮乐效果
2018/07/09 Javascript
Vue组件间通信方法总结(父子组件、兄弟组件及祖先后代组件间)
2019/04/17 Javascript
vue-loader中引入模板预处理器的实现
2019/09/04 Javascript
JavaScript获取当前url路径过程解析
2019/12/27 Javascript
python实现的简单猜数字游戏
2015/04/04 Python
python连接字符串的方法小结
2015/07/13 Python
详解Python进程间通信之命名管道
2017/08/28 Python
Python3实现简单可学习的手写体识别(实例讲解)
2017/10/21 Python
python如何获取当前文件夹下所有文件名详解
2019/01/25 Python
Pytorch转onnx、torchscript方式
2020/05/25 Python
python爬虫构建代理ip池抓取数据库的示例代码
2020/09/22 Python
HTML5头部标签的一些常用信息小结
2016/10/23 HTML / CSS
英国皇室御用百货:福南梅森(Fortnum & Mason)
2017/12/03 全球购物
夏尔巴人登珠峰品牌:Sherpa Adventure Gear
2018/02/08 全球购物
Yves Rocher捷克官方网站:植物化妆品的创造者
2019/07/31 全球购物
五四青年节优秀演讲稿范文
2014/05/28 职场文书
建筑安全责任书范本
2014/07/24 职场文书
2014年客户经理工作总结
2014/11/20 职场文书
捐助感谢信
2015/01/22 职场文书
大学生求职自荐信范文
2015/03/04 职场文书
springboot中一些比较常用的注解总结
2021/06/11 Java/Android