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
SQL Server基本使用和简单的CRUD操作
Apr 05 SQL Server
sql查询结果列拼接成逗号分隔的字符串方法
May 25 SQL Server
sql字段解析器的实现示例
Jun 23 SQL Server
SQLServer 错误: 15404,无法获取有关 Windows NT 组/用户 WIN-8IVSNAQS8T7\Administrator 的信息
Jun 30 SQL Server
sql通过日期判断年龄函数的示例代码
Jul 16 SQL Server
sql server删除前1000行数据的方法实例
Aug 30 SQL Server
万能密码的SQL注入漏洞其PHP环境搭建及防御手段
Sep 04 SQL Server
Spark SQL 2.4.8 操作 Dataframe的两种方式
Oct 16 SQL Server
SQL Server携程核心系统无感迁移到MySQL实战
Jun 01 SQL Server
一次SQL查询优化原理分析(900W+数据从17s到300ms)
Jun 10 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邮件专题
2006/10/09 PHP
分享PHP源码批量抓取远程网页图片并保存到本地的实现方法
2015/12/01 PHP
thinkphp5 加载静态资源路径与常量的方法
2017/12/24 PHP
基于jquery实现的鼠标滑过按钮改变背景图片
2011/07/15 Javascript
JQuery实现用户名无刷新验证的小例子
2013/03/22 Javascript
Jquery实现的tab效果可以指定默认显示第几页
2013/10/16 Javascript
按下回车键指向下一个位置的一个函数代码
2014/03/10 Javascript
在父页面得到zTree已选中的节点的方法
2015/02/12 Javascript
JavaScript使用cookie实现记住账号密码功能
2015/04/27 Javascript
js实现无限级树形导航列表效果代码
2015/09/23 Javascript
JavaScript数组的一些奇葩行为
2016/01/25 Javascript
jquery制做精致的倒计时特效
2016/06/13 Javascript
AngularJS删除路由中的#符号的方法
2016/09/20 Javascript
Bootstrap基本插件学习笔记之按钮(21)
2016/12/08 Javascript
angular使用post、get向后台传参的问题实例
2017/05/27 Javascript
Vue中的$set的使用实例代码
2018/10/08 Javascript
使用 Vue cli 3.0 构建自定义组件库的方法
2019/04/30 Javascript
JavaScript实现京东放大镜效果
2019/12/03 Javascript
使用vue编写h5公众号跳转小程序的实现代码
2020/11/27 Vue.js
[06:07]辉夜杯现场观众互动 “比谁远送显示器”
2015/12/26 DOTA
[01:00]DOTA2 store: Collection of Artisan's Wonders
2015/08/12 DOTA
跟老齐学Python之做一个小游戏
2014/09/28 Python
在VS Code上搭建Python开发环境的方法
2018/04/06 Python
Python使用pymysql从MySQL数据库中读出数据的方法
2018/07/25 Python
python 随机打乱 图片和对应的标签方法
2018/12/14 Python
Python设计模式之代理模式实例详解
2019/01/19 Python
Python中Unittest框架的具体使用
2019/08/27 Python
解决Python中报错TypeError: must be str, not bytes问题
2020/04/07 Python
HTML5中的Web Notification桌面右下角通知功能的实现
2018/04/19 HTML / CSS
Lancome兰蔻官方旗舰店:来自法国的世界知名美妆品牌
2018/06/14 全球购物
HttpServlet类中的主要方法都有哪些?各自的作用是什么?
2014/03/16 面试题
预备党员承诺书
2014/03/25 职场文书
国际贸易专业求职信
2014/06/04 职场文书
新学期家长寄语2016
2015/12/03 职场文书
nginx限制并发连接请求数的方法
2021/04/01 Servers
React Native项目框架搭建的一些心得体会
2021/05/28 Javascript