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 ;

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;

来源:https://www.cnblogs.com/springsnow/p/10334721.html

标签:SQL,Server,逻辑,函数
0
投稿

猜你喜欢

  • python中关于对super()函数疑问解惑

    2022-08-10 04:11:48
  • Vue中keep-alive的两种应用方式

    2024-05-09 15:10:53
  • Python简单生成8位随机密码的方法

    2021-02-22 08:43:14
  • python3环境搭建过程(利用Anaconda+pycharm)完整版

    2022-01-16 06:04:47
  • 网站构成的基本元素—网页布局

    2008-01-04 09:49:00
  • MySQL用户权限管理详解

    2024-01-20 06:16:58
  • QT连接Oracle数据库并实现登录验证的操作步骤

    2024-01-27 13:06:44
  • ubuntu16.04在python3 下创建Django项目并运行的操作方法

    2021-02-01 11:03:50
  • 树莓派4B安装Tensorflow的方法步骤

    2023-09-05 17:28:06
  • python实现随机密码字典生成器示例

    2022-07-25 17:11:50
  • python中引用与复制用法实例分析

    2022-09-04 09:54:35
  • selenium WebDriverWait类等待机制的实现

    2022-12-18 13:07:21
  • 详解 Mysql 事务和Mysql 日志

    2024-01-19 05:59:17
  • Python手写回归树的实现

    2021-08-26 23:03:56
  • python中文分词教程之前向最大正向匹配算法详解

    2023-07-23 12:51:22
  • Python bsddb模块操作Berkeley DB数据库介绍

    2024-01-18 05:32:02
  • Vue3 defineExpose要在方法声明定义以后使用的教程

    2024-05-21 10:30:03
  • pytest conftest.py文件的使用讲解

    2023-10-16 14:22:44
  • Python read函数按字节(字符)读取文件的实现

    2021-08-20 09:40:48
  • vue3组合式API中setup()概念和reactive()函数的用法

    2024-05-22 10:42:13
  • asp之家 网络编程 m.aspxhome.com