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数据库单表查询 4.3实验课
Apr 05 SQL Server
SQL Server中使用判断语句(IF ELSE/CASE WHEN )案例
Jul 07 SQL Server
万能密码的SQL注入漏洞其PHP环境搭建及防御手段
Sep 04 SQL Server
Sql Server之数据类型详解
Feb 28 SQL Server
MySQL 中如何归档数据的实现方法
Mar 16 SQL Server
SQL Server实现分页方法介绍
Mar 16 SQL Server
SQL Server表分区降低运维和维护成本
Apr 08 SQL Server
SQL Server使用T-SQL语句批处理
May 20 SQL Server
SQL SERVER中的流程控制语句
May 25 SQL Server
SQL Server中的逻辑函数介绍
May 25 SQL Server
SQL Server携程核心系统无感迁移到MySQL实战
Jun 01 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 str_pad 函数用法简介
2009/07/11 PHP
php获取字段名示例分享
2014/03/03 PHP
php无限极分类递归排序实现方法
2014/11/11 PHP
php生成高清缩略图实例详解
2015/12/07 PHP
详解PHP的Yii框架中组件行为的属性注入和方法注入
2016/03/18 PHP
yii2超好用的日期组件和时间组件
2016/05/05 PHP
jquery 简单的进度条实现代码
2010/03/11 Javascript
一步一步制作jquery插件Tabs实现过程
2010/07/06 Javascript
js有关元素内容操作小结
2011/12/20 Javascript
php与js的区别是什么
2013/08/05 Javascript
JavaScript中的eval()函数详解
2013/08/22 Javascript
javascript修改表格背景色实例代码分享
2013/12/10 Javascript
如何用JavaScript定义一个类
2014/09/12 Javascript
JS实现下拉菜单赋值到文本框的方法
2015/08/18 Javascript
javascript显示系统当前时间代码
2016/12/29 Javascript
js中new一个对象的过程
2017/02/20 Javascript
通过vue-cli3构建一个SSR应用程序的方法
2018/09/13 Javascript
微信小程序之裁剪图片成圆形的实现代码
2018/10/11 Javascript
setTimeout与setInterval的区别浅析
2019/03/23 Javascript
vue-test-utils初使用详解
2019/05/23 Javascript
基于js实现判断浏览器类型代码实例
2020/07/17 Javascript
Vue实现开关按钮拖拽效果
2020/09/22 Javascript
Python中__call__用法实例
2014/08/29 Python
简单介绍Python中的round()方法
2015/05/15 Python
Python2.x利用commands模块执行Linux shell命令
2016/03/11 Python
用python写一个windows下的定时关机脚本(推荐)
2017/03/21 Python
python安装numpy&安装matplotlib& scipy的教程
2017/11/02 Python
浅谈python日志的配置文件路径问题
2018/04/28 Python
一文带你了解Python 四种常见基础爬虫方法介绍
2020/12/04 Python
pycharm 使用tab跳出正在编辑的括号(){}{}等问题
2021/02/26 Python
文秘专业毕业生就业推荐信
2013/11/08 职场文书
酒店开业策划方案
2014/06/02 职场文书
六一晚会主持词开场白
2015/05/28 职场文书
Mysql关于数据库是否应该使用外键约束详解说明
2021/10/24 MySQL
关于vue-router-link选择样式设置
2022/04/30 Vue.js
Python实现双向链表基本操作
2022/05/25 Python