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数据库远程连接案例教程
Jul 15 SQL Server
sql通过日期判断年龄函数的示例代码
Jul 16 SQL Server
万能密码的SQL注入漏洞其PHP环境搭建及防御手段
Sep 04 SQL Server
SQL Server中常用截取字符串函数介绍
Mar 16 SQL Server
详解在SQLPlus中实现上下键翻查历史命令的功能
Mar 18 SQL Server
如何使用SQL Server语句创建表
Apr 12 SQL Server
SQL Server删除表中的重复数据
May 25 SQL Server
SQL使用复合索引实现数据库查询的优化
May 25 SQL Server
SQL bool盲注和时间盲注详解
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
phplock(php进程锁) v1.0 beta1
2009/11/24 PHP
全局记录程序片段的运行时间 正确找到程序逻辑耗时多的断点
2011/01/06 PHP
PHP实现使用优酷土豆视频地址获取swf播放器分享地址
2014/06/05 PHP
PHP 5.3和PHP 5.4出现FastCGI Error解决方法
2015/02/12 PHP
PHP按符号截取字符串的指定部分的实现方法
2018/09/10 PHP
浅析document.createDocumentFragment()与js效率
2013/07/08 Javascript
带左右箭头图片轮播的JS代码
2013/12/18 Javascript
jquery制作居中遮罩层效果分享
2014/02/21 Javascript
js拆分字符串并将分割的数据放到数组中的方法
2015/05/06 Javascript
JS组件Bootstrap Select2使用方法详解
2020/04/17 Javascript
两种JavaScript的AES加密方式(可与Java相互加解密)
2016/08/02 Javascript
详解Jquery的事件操作和文档操作
2016/12/19 Javascript
angularjs中的$eval方法详解
2017/04/24 Javascript
详解vue挂载到dom上会发生什么
2019/01/20 Javascript
Vue基本使用之对象提供的属性功能
2019/04/30 Javascript
vue实现表格过滤功能
2019/09/27 Javascript
javascript实现一款好看的秒表计时器
2020/09/05 Javascript
Numpy数据类型转换astype,dtype的方法
2018/06/09 Python
使用python进行波形及频谱绘制的方法
2019/06/17 Python
python3.6 如何将list存入txt后再读出list的方法
2019/07/02 Python
python异常处理try except过程解析
2020/02/03 Python
Python捕获异常堆栈信息的几种方法(小结)
2020/05/18 Python
python 实现波浪滤镜特效
2020/12/02 Python
JD Sports法国:英国篮球和运动时尚的领导者
2017/09/28 全球购物
德国家具、照明、家居用品网上商店:Wayfair.de
2020/02/13 全球购物
研究生自我鉴定范文
2013/10/30 职场文书
周鸿祎:教你写创业计划书
2013/12/30 职场文书
邮政员工辞职信
2014/01/16 职场文书
教育技术职业规划范文
2014/03/04 职场文书
奶茶店创业计划书
2014/08/14 职场文书
新生开学寄语大全
2015/05/28 职场文书
总经理年会致辞
2015/07/29 职场文书
MySQL Innodb关键特性之插入缓冲(insert buffer)
2021/04/08 MySQL
PO模式在selenium自动化测试框架的优势
2022/03/20 Python
《王者天下》第4季首话新剧照 4月9日正式开播
2022/04/07 日漫
3050和2060哪个好 性能差多少 差距有多大 谁更有性价比
2022/06/17 数码科技