SQL Server中的逻辑函数介绍
作者:springsnow 发布时间:2024-01-20 06:20:37
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 ;
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;
来源:https://www.cnblogs.com/springsnow/p/10334721.html
猜你喜欢
- 很常见的一个图片轮播Flash,使用之后发现在IE下按F5刷新之后Flash区域就变成一大块背景色,内容轮播出不来了。有趣的是右键点击Fla
- Python异常是在程序执行时发生的错误,可能会导致程序终止运行。在Python中,异常处理是一种机制,它允许开发人员在程序发生异常时捕获、
- 前言在pandas模块中,通常我们都需要对类型为DataFrame的数据进行操作,其中最为常见的操作便是拼接了。比如我们将两个Excel表格
- function commafyback(num) { var x = num.split(','); return par
- 深度学习中,模型训练一般都需要很长的时间,由于很多原因,导致模型中断训练,下面介绍继续断点训练的方法。方法一:载入模型时,不必指定迭代次数,
- 循环结构的应用场景如果在程序中我们需要重复的执行某条或某些指令,例如用程序控制机器人踢足球,如果机器人持球而且还没有进入射门范围,那么我们就
- 最近项目中的资产的任务状态频频出现问题,查看日志文件,看代码逻辑,也没发现什么具体的错误,总是过段时间就会出现一个表的字段没有更新的问题,很
- 如何实现自定义一个异常python内置了许多异常类,为编写代码划定红线,才使调试代码时能及时发现错误。那么我们编写一个模块也可以为使用此模块
- 实验室老师让给数据画一张线性拟合图。不会matlab,就琢磨着用python。参照了网上的一些文章,查看了帮助文档,成功的写了出来这里用到了
- 都知道django每次请求都会连接数据库和释放数据库连接。Django为每个请求使用新的数据库连接。一开始这个方法行得通。然而随着服务器上的
- 需求分析:项目中根据测得的数据在界面上实时绘制运行环境:Python 3.7 + Matplotlib 3.0.2 + PyQt 5matp
- 前言大家都知道,Python自带的datetime库提供了将datetime转为ISO 8610格式的函数,但是对于时间间隔(inteval
- docutils 的官方工具地址为:https://docutils.sourceforge.io/目前的更新主要是在版本和使用手册的更新上
- 下面是一份在 HTML 4 Strict 和 XHTML 1.0 Strict 下必须遵守的标签嵌套规则,比如你不能在 <a>
- 最近一直在“深山老林”中修炼“支付宝新版收银台”,经历了白板设计,视觉设计,前端开发,前后端联调各个阶段。点点滴滴……重点谈谈对交互设计的感
- 一、查询条件精确,针对有参数传入情况 二、SQL逻辑执行顺序 FROM-->JOIN-->WHERE-->GROUP--&
- 以下针对Ubuntu系统,Windows系统没有测试过。Ubuntu中默认就安装有Python 2.x和Python 3.x,默认情况下py
- 1.索引是什么1.1 认识索引先创建一个简单的DataFrame。myList = [['a', 10, 1.1], &nb
- 代码如下:url="http://www.cidianwang.com/" wstr=getHTTPPage(
- Oracle数据库升级也并非简单的事,这篇文章对Oracle那点事做了较详细的介绍:Oracle数据库升级或数据迁移方法研究我还属于Orac