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
SQLServer 日期函数大全(小结)
Apr 08 SQL Server
SQL 尚未定义空闲 CPU 条件 - OnIdle 作业计划将不起任何作用
Jun 30 SQL Server
SQL Server代理:理解SQL代理错误日志处理方法
Jun 30 SQL Server
sql通过日期判断年龄函数的示例代码
Jul 16 SQL Server
sql server删除前1000行数据的方法实例
Aug 30 SQL Server
SQLServer中exists和except用法介绍
Dec 04 SQL Server
Sql Server之数据类型详解
Feb 28 SQL Server
sql server偶发出现死锁的解决方法
Apr 10 SQL Server
SQL Server 忘记密码以及重新添加新账号
Apr 26 SQL Server
SQL Server使用PIVOT与unPIVOT实现行列转换
May 25 SQL Server
SQL Server数据库备份和恢复数据库的全过程
Jun 14 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操作Memcache实例介绍
2013/06/14 PHP
php数组删除元素示例
2014/03/21 PHP
一个php生成16位随机数的代码(两种方法)
2014/09/16 PHP
PHP使用OB缓存实现静态化功能示例
2019/03/23 PHP
PHP利用百度ai实现文本和图片审核
2019/05/08 PHP
PHP基于session.upload_progress 实现文件上传进度显示功能详解
2019/08/09 PHP
javascript实现输出指定行数正方形图案的方法
2015/08/03 Javascript
详解js中构造流程图的核心技术JsPlumb(2)
2015/12/08 Javascript
使用bootstrap3开发响应式网站
2016/05/12 Javascript
AngularJS基础 ng-hide 指令用法及示例代码
2016/08/01 Javascript
利用Angular.js限制textarea输入的字数
2016/10/20 Javascript
Jquery UI实现一次拖拽多个选中的元素操作
2020/12/01 Javascript
详解Angular2学习笔记之Html属性绑定
2018/01/03 Javascript
JS实现不用中间变量temp 实现两个变量值得交换方法
2018/02/04 Javascript
bootstrap与pagehelper实现分页效果
2018/12/29 Javascript
vue实现移动端拖动排序
2020/08/21 Javascript
JS绘图Flot应用图形绘制异常解决方案
2020/10/16 Javascript
[00:30]塑造者的传承礼包-戴泽“暗影之焰”套装展示视频
2014/04/04 DOTA
Django中数据库的数据关系:一对一,一对多,多对多
2018/10/21 Python
在Pycharm中对代码进行注释和缩进的方法详解
2019/01/20 Python
Python3 itchat实现微信定时发送群消息的实例代码
2019/07/12 Python
python如何通过twisted搭建socket服务
2020/02/03 Python
Pytorch 解决自定义子Module .cuda() tensor失败的问题
2020/06/23 Python
selenium框架中driver.close()和driver.quit()关闭浏览器
2020/12/08 Python
html5小程序飞入购物车(抛物线绘制运动轨迹点)
2020/10/19 HTML / CSS
德购商城:德国进口直邮商城
2017/06/13 全球购物
加拿大快时尚零售商:Ardene
2018/02/14 全球购物
英国最大的在线蜡烛商店:Candles Direct
2019/03/26 全球购物
测绘工程个人的自我评价
2013/11/23 职场文书
业务部主管岗位职责
2014/01/29 职场文书
2014年党员公开承诺书范文
2014/03/28 职场文书
群众路线个人剖析材料及整改措施
2014/11/04 职场文书
教师考核评语大全
2014/12/31 职场文书
2015年清明节网上祭英烈留言寄语
2015/03/04 职场文书
舞出我人生观后感
2015/06/16 职场文书
SQL SERVER触发器详解
2022/02/24 SQL Server