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 相关文章推荐
sqlserver2017共享功能目录路径不可改的解决方法
Apr 16 SQL Server
sql中mod()函数取余数的用法
May 29 SQL Server
解决sql server 数据库,sa用户被锁定的问题
Jun 11 SQL Server
万能密码的SQL注入漏洞其PHP环境搭建及防御手段
Sep 04 SQL Server
详解在SQLPlus中实现上下键翻查历史命令的功能
Mar 18 SQL Server
Sql Server 行数据的某列值想作为字段列显示的方法
Apr 20 SQL Server
SQL Server使用CROSS APPLY与OUTER APPLY实现连接查询
May 25 SQL Server
SQL Server中的逻辑函数介绍
May 25 SQL Server
SQL解决未能删除约束问题drop constraint
May 30 SQL Server
SQL Server2019安装的详细步骤实战记录(亲测可用)
Jun 10 SQL Server
一次SQL查询优化原理分析(900W+数据从17s到300ms)
Jun 10 SQL Server
在SQL Server中使用 Try Catch 处理异常的示例详解
Jul 15 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显示MySQL数据的三种方法
2008/06/05 PHP
php面向对象全攻略 (三)特殊的引用“$this”的使用
2009/09/30 PHP
PHP 采集程序原理分析篇
2010/03/05 PHP
php上传图片并压缩的实现方法
2015/12/22 PHP
PHP中file_exists使用中遇到的问题小结
2016/04/05 PHP
php 静态属性和静态方法区别详解
2017/04/09 PHP
PHP实现批量重命名某个文件夹下所有文件的方法
2017/09/04 PHP
JavaScript CSS修改学习第三章 修改样式表
2010/02/19 Javascript
combox改进版 页面原型参考dojo的,比网上jQuery的那些combox功能强,代码更小
2010/04/15 Javascript
不用构造函数(Constructor)new关键字也能实现JavaScript的面向对象
2013/01/11 Javascript
简单的代码实现jquery定时器
2014/01/03 Javascript
鼠标拖拽移动子窗体的JS实现
2014/02/25 Javascript
jQuery表单验证功能实例
2015/08/28 Javascript
JavaScript获取function所有参数名的方法
2015/10/30 Javascript
微信 java 实现js-sdk 图片上传下载完整流程
2016/10/21 Javascript
jQuery复合事件结合toggle()方法的用法示例
2017/06/10 jQuery
vue动态添加路由addRoutes之不能将动态路由存入缓存的解决
2019/02/19 Javascript
layui操作列按钮个数和文字颜色的判断实例
2019/09/11 Javascript
vue 组件销毁并重置的实现
2020/01/13 Javascript
Vue 3.0 全家桶抢先体验
2020/04/28 Javascript
[04:03]DOTA2英雄梦之声_第02期_风暴之灵
2014/06/30 DOTA
Python中使用装饰器和元编程实现结构体类实例
2015/01/28 Python
Python实现图片滑动式验证识别方法
2017/11/09 Python
python 用lambda函数替换for循环的方法
2018/06/09 Python
Python发送邮件测试报告操作实例详解
2018/12/08 Python
详解Python绘图Turtle库
2019/10/12 Python
一款恶搞头像特效的制作过程 利用css3和jquery
2014/11/21 HTML / CSS
HTML5实现晶莹剔透的雨滴特效
2014/05/14 HTML / CSS
英国舒适型鞋履品牌:FitFlop
2017/05/17 全球购物
波兰在线儿童和婴儿用品零售商:pinkorblue
2019/06/29 全球购物
客户服务经理岗位职责
2014/01/29 职场文书
优秀医生事迹材料
2014/02/12 职场文书
招标授权委托书样本
2014/09/23 职场文书
禁毒心得体会范文
2016/01/15 职场文书
导游词幽默开场白
2019/06/26 职场文书
Python如何让字典保持有序排列
2022/04/29 Python