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 相关文章推荐
2021-4-3课程——SQL Server查询【2】
Apr 05 SQL Server
mybatis调用sqlserver存储过程返回结果集的方法
May 08 SQL Server
sql中mod()函数取余数的用法
May 29 SQL Server
SQLServer 错误: 15404,无法获取有关 Windows NT 组/用户 WIN-8IVSNAQS8T7\Administrator 的信息
Jun 30 SQL Server
SqlServer数据库远程连接案例教程
Jul 15 SQL Server
MySQL 中如何归档数据的实现方法
Mar 16 SQL Server
SQL Server实现分页方法介绍
Mar 16 SQL Server
Sql Server 行数据的某列值想作为字段列显示的方法
Apr 20 SQL Server
SQL Server中的游标介绍
May 20 SQL Server
SQL Server 中的事务介绍
May 20 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
咖啡的种类和口感
2021/03/03 新手入门
php文件扩展名判断及获取文件扩展名的N种方法
2015/09/12 PHP
PHP实现正则匹配所有括号中的内容
2018/06/22 PHP
Javascript 检测、添加、移除样式(className)函数代码
2009/09/08 Javascript
jQuery中Ajax的get、post等方法详解
2015/01/20 Javascript
jQuery实现自动切换播放的经典滑动门效果
2015/09/12 Javascript
理解Javascript图片预加载
2016/02/23 Javascript
在Mac OS上安装使用Node.js的项目自动化构建工具Gulp
2016/06/18 Javascript
Javascript 引擎工作机制详解
2016/11/30 Javascript
jquery实现输入框实时输入触发事件代码
2016/12/21 Javascript
详解node HTTP请求客户端 - Request
2017/05/05 Javascript
使用html+js+css 实现页面轮播图效果(实例讲解)
2017/09/21 Javascript
微信小程序图片选择区域裁剪实现方法
2017/12/02 Javascript
微信小程序实现红包雨功能
2018/07/11 Javascript
微信小程序与后台PHP交互的方法实例分析
2018/12/10 Javascript
javascript实现图片轮播代码
2019/07/09 Javascript
vue图片加载失败时用默认图片替换的方法
2019/08/29 Javascript
layui select 禁止点击的实现方法
2019/09/05 Javascript
vue3.0中使用postcss-pxtorem的具体方法
2019/11/20 Javascript
python 用所有标点符号分隔句子的示例
2019/07/15 Python
详谈tensorflow gfile文件的用法
2020/02/05 Python
Django 解决阿里云部署同步数据库报错的问题
2020/05/14 Python
利用css3实现的简单的鼠标悬停按钮
2014/11/04 HTML / CSS
PurCotton全棉时代官网:100%天然棉花生产的生活护理用品
2016/11/18 全球购物
TripAdvisor台湾:全球最大旅游网站
2018/08/26 全球购物
澳大利亚厨房和家用电器购物网站:Bing Lee
2021/01/11 全球购物
行政经理岗位职责
2013/11/09 职场文书
捐书寄语赠言
2014/01/18 职场文书
信息管理应届生求职信
2014/03/07 职场文书
高三毕业评语
2014/12/31 职场文书
2015大学生党员自我评价范文
2015/03/03 职场文书
2015年打非治违工作总结
2015/04/02 职场文书
用CSS3画一个爱心
2021/04/27 HTML / CSS
浅谈Laravel中使用Slack进行异常通知
2021/05/29 PHP
Python自动化测试PO模型封装过程详解
2021/06/22 Python
Python实现学生管理系统并生成exe可执行文件详解流程
2022/01/22 Python