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基本使用和简单的CRUD操作
Apr 05 SQL Server
SQLServer2019 数据库的基本使用之图形化界面操作的实现
Apr 08 SQL Server
SQLServer中exists和except用法介绍
Dec 04 SQL Server
SQL Server中常用截取字符串函数介绍
Mar 16 SQL Server
SQL CASE 表达式的具体使用
Mar 21 SQL Server
sqlserver连接错误之SQL评估期已过的问题解决
Mar 23 SQL Server
sql server偶发出现死锁的解决方法
Apr 10 SQL Server
SQL Server使用CROSS APPLY与OUTER APPLY实现连接查询
May 25 SQL Server
在SQL Server中使用 Try Catch 处理异常的示例详解
Jul 15 SQL Server
SQL bool盲注和时间盲注详解
Jul 23 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程序员的技术成长规划
2016/03/25 PHP
PHP微信支付开发实例
2016/06/22 PHP
php使用file函数、fseek函数读取大文件效率对比分析
2016/11/04 PHP
php使用goto实现自动重启swoole、reactphp、workerman服务的代码
2020/04/13 PHP
PHP快速导出百万级数据到CSV或者EXCEL文件
2020/11/27 PHP
IE innerHTML,outerHTML所引起的问题
2009/06/04 Javascript
JavaScript 学习笔记(六)
2009/12/31 Javascript
Javascript表达式中连续的 && 和 || 之赋值区别
2010/10/17 Javascript
浅析JavaScript中的隐式类型转换
2013/12/05 Javascript
利用js读取动态网站从服务器端返回的数据
2014/02/10 Javascript
Jquery1.9.1源码分析系列(六)延时对象应用之jQuery.ready
2015/11/24 Javascript
jqGrid用法汇总(全经典)
2016/06/28 Javascript
Bootstrap中datetimepicker使用小结
2016/12/28 Javascript
Vue服务端渲染和Vue浏览器端渲染的性能对比(实例PK )
2017/03/31 Javascript
微信小程序如何获知用户运行小程序的场景教程
2017/05/17 Javascript
使用prop解决一个checkbox选中后再次选中失效的问题
2017/07/05 Javascript
微信小程序移动拖拽视图-movable-view实例详解
2019/08/17 Javascript
vue中实现上传文件给后台实例详解
2019/08/22 Javascript
layui的表单验证支持ajax判断用户名是否重复的实例
2019/09/06 Javascript
Javascript中的this,bind和that使用实例
2019/12/05 Javascript
JavaScript正则表达式验证登录实例
2020/03/18 Javascript
javascript canvas封装动态时钟
2020/09/30 Javascript
python格式化字符串实例总结
2014/09/28 Python
python有证书的加密解密实现方法
2014/11/19 Python
python中的break、continue、exit()、pass全面解析
2017/08/05 Python
Python入门必须知道的11个知识点
2018/03/21 Python
Django框架下静态模板的继承操作示例
2019/11/08 Python
Python3爬虫中Splash的知识总结
2020/07/10 Python
HTML5高仿微信聊天、微信聊天表情|对话框|编辑器功能
2018/04/23 HTML / CSS
银行竞聘演讲稿
2014/05/16 职场文书
青年岗位能手事迹材料
2014/12/23 职场文书
父亲节感言
2015/08/03 职场文书
高中政治教学反思
2016/02/23 职场文书
nginx优化的六点方法
2021/03/31 Servers
Python Pandas知识点之缺失值处理详解
2021/05/11 Python
MySQL数据库⾼可⽤HA实现小结
2022/01/22 MySQL