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


猜你喜欢
- 什么是YOLOV4YOLOV4是YOLOV3的改进版,在YOLOV3的基础上结合了非常多的小Tricks。尽管没有目标检测上革命性的改变,但
- 生活中,我们在登录微博,邮箱的时候,常常会碰到验证码。在工作时,如果想要爬取一些数据,也会碰到验证码的阻碍。本次试验将带领大家认识验证码的一
- python中email模块使得处理邮件变得比较简单,今天着重学习了一下发送邮件的具体做法,这里写写自己的的心得,也请高手给些指
- 前言Windows10 在 UWP 应用中支持亚克力画刷,可以在部件的底部绘制亚克力效果的背景图。下面我们使用 QLabel 来模拟这个磨砂
- 大家好,我是只谈技术不剪发的 Tony 老师。我们在开发 Oracle 数据库程序时,如果想要通过 PL/SQL 存储过程实现发送邮件的功能
- 还是先上代码吧 ,可以先看 SQL语句去掉重复记录,获取重复记录ALTER procedure [dbo].[PROC_ITEMMASTER
- SOLyog的下载、安装以及使用很简单。我去了相关网站下载,它只有384K字节大小。它把两个文件(一个可执行文件.exe和一个动态链接库文件
- 时间序列预测时间序列是按照时间顺序排列的数据集合,在很多应用中都非常常见。时间序列分析是对这些数据进行分析和预测的过程。时间序列预测是该分析
- 本文实例为大家分享了Python KNN分类算法的具体代码,供大家参考,具体内容如下KNN分类算法应该算得上是机器学习中最简单的分类算法了,
- 本文实例总结了MySQL数据库优化技术的索引用法。分享给大家供大家参考,具体如下:这里紧接上一篇《MySQL数据库优化技术之配置技巧总结》,
- 本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑php数组查询元素位置的方法:方法1:利用array_search(
- 一,用临时表作为数组 create function f_split(@c varchar(2000),@split varchar(2))
- 实例如下所示:import matplotlib.pyplot as pltplt.imshow(img)#控制台打印出图像对象的信息,而图
- 抽象工厂模式抽象工厂模式是一种创建型设计模式, 它能创建一系列相关的对象, 而无需指定其具体类。抽象工厂定义了用于创建不同产品的接口, 但将
- 目录Python的安装VS Code配置Hello World测试调用Python函数string.split()第一次尝试第二次尝试第三次
- 1、 利用操作符+比如:a = [1,2,3]b = [4,5,6]c = a+bc的结果:[1,2,3,4,5,6] 2 利用e
- example:models中的表# modelsclass UserInfo(models.Model): id = mode
- 一、常用按键按键说明Keys.BACK_SPACE回退键(BackSpace)Keys.TAB制表键(Tab)Keys.ENTER回车键(E
- 完美的渐变透明效果。支持IE,Firefox渐变,自己写的JS框架中用的东西,发出来了。修正完全隐藏时,偶尔不display = "
- 生成.bmp格式的文件.bmp格式的图片是未压缩的图片,相比于.raw格式,需要加上头文件。下面以大小为M*N的图片为例,说明头文件格式和内