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
SQL SERVER中常用日期函数的具体使用
Apr 08 SQL Server
sql查询结果列拼接成逗号分隔的字符串方法
May 25 SQL Server
SqlServer数据库远程连接案例教程
Jul 15 SQL Server
利用 SQL Server 过滤索引提高查询语句的性能分析
Jul 15 SQL Server
万能密码的SQL注入漏洞其PHP环境搭建及防御手段
Sep 04 SQL Server
详解在SQLPlus中实现上下键翻查历史命令的功能
Mar 18 SQL Server
如何使用SQL Server语句创建表
Apr 12 SQL Server
SQL Server中锁的用法
May 20 SQL Server
SQL Server一个字符串拆分多行显示或者多行数据合并成一个字符串
May 25 SQL Server
SQL bool盲注和时间盲注详解
Jul 23 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 将图片按创建时间进行分类存储的实现代码
2010/01/05 PHP
PHP、Nginx、Apache中禁止网页被iframe引用的方法
2020/10/01 PHP
php中多维数组按指定value排序的实现代码
2014/08/19 PHP
跟我学Laravel之快速入门
2014/10/15 PHP
PHP+shell实现多线程的方法
2015/07/01 PHP
奇妙的js
2007/09/24 Javascript
javascript delete 使用示例代码
2010/03/29 Javascript
读jQuery之七 判断点击了鼠标哪个键的代码
2011/06/21 Javascript
调试Node.JS的辅助工具(NodeWatcher)
2012/01/04 Javascript
javascript常用的方法整理
2015/08/20 Javascript
JS+Canvas绘制时钟效果
2020/08/20 Javascript
详解webpack 入门总结和实践(按需异步加载,css单独打包,生成多个入口文件)
2017/06/20 Javascript
React Native第三方平台分享的实例(Android,IOS双平台)
2017/08/04 Javascript
Vue组件之高德地图地址选择功能的实例代码
2019/06/21 Javascript
JavaScript实现的滚动公告特效【基于jQuery】
2019/07/10 jQuery
JavaScript算法学习之冒泡排序和选择排序
2019/11/02 Javascript
JS数据类型判断的几种常用方法
2020/07/07 Javascript
vue的webcamjs集成方式
2020/11/16 Javascript
javascript前端实现多视频上传
2020/12/13 Javascript
JavaScript基于SVG的图片切换效果实例代码
2020/12/15 Javascript
Python使用smtplib模块发送电子邮件的流程详解
2016/06/27 Python
Python使用re模块正则提取字符串中括号内的内容示例
2018/06/01 Python
Python使用scipy模块实现一维卷积运算示例
2019/09/05 Python
Python CSS选择器爬取京东网商品信息过程解析
2020/06/01 Python
python实现快速文件格式批量转换的方法
2020/10/16 Python
python实现图片转字符画的完整代码
2021/02/21 Python
生产管理的三大手法
2013/11/11 职场文书
药品质量检测应届生求职信
2013/11/14 职场文书
竞选部门副经理的自荐书范文
2014/02/11 职场文书
信电学院毕业生自荐书
2014/05/24 职场文书
我的中国梦演讲稿300字
2014/08/19 职场文书
2014年信息技术工作总结
2014/12/16 职场文书
学校重阳节活动总结
2015/03/24 职场文书
田径运动会广播稿
2015/08/19 职场文书
pytorch 如何使用amp进行混合精度训练
2021/05/24 Python
Python函数对象与闭包函数
2022/04/13 Python