SQL Server笔记 -- 第42章:逻辑函数

第42.1节:CHOOSE

版本 ≥ SQL Server 2012

从值列表中返回指定索引处的项目。如果索引超出值的范围,则返回NULL。

参数:

  1. index:整数,值列表中的索引。基于1。
  2. values:任何类型,逗号分隔的列表
sql 复制代码
SELECT CHOOSE (1, 'apples', 'pears', 'oranges', 'bananas') AS chosen_result
chosen_result
apples

第42.2节:IIF

版本 ≥ SQL Server 2012

根据给定布尔表达式的计算结果为true或false,返回两个值之一。

参数:

  1. boolean_expression:计算以确定返回哪个值的布尔表达式
  2. true_value:如果boolean_expression计算为true则返回的值
  3. false_value:如果boolean_expression计算为false则返回的值
sql 复制代码
SELECT IIF (42 > 23, 'I knew that!', 'That is not true.') AS iif_result
iif_result
I knew that!

版本 < SQL Server 2012

IIF可以用CASE语句替换。上面的示例可以写为:

sql 复制代码
SELECT CASE 
    WHEN 42 > 23 THEN 'I knew that!'
    ELSE 'That is not true.'
END AS iif_result
iif_result
I knew that!
相关推荐
神所夸赞的夏天2 分钟前
如何获取多层json数据,存成dictionary,并取最大最小值
java·前端·json
9号达人3 分钟前
为什么你应该在 MQ 里用多个消费者,而不是一个
java·后端·架构
焦糖玛奇朵婷6 分钟前
健身房预约小程序开发、设计
java·大数据·服务器·前端·小程序
qq_429499577 分钟前
RK3566 linux编译成功笔记
笔记
小新同学^O^13 分钟前
简单学习 --> TCP协议
java·网络·tcp
月落归舟25 分钟前
深入理解Java适配器模式,彻底搞懂设计思想
java·开发语言·适配器模式
Mr_pyx26 分钟前
【LeetHOT100】二叉树的中序遍历——Java多解法详解
java·开发语言·深度优先
jay神37 分钟前
基于SpringBoot的宠物生命周期信息管理系统
java·数据库·spring boot·后端·web开发·宠物·管理系统
Liangwei Lin1 小时前
LeetCode 76. 最小覆盖子串
运维·服务器
秋91 小时前
MySQL 8.0.46 与 MySQL 9.7.0在sql语句方面的区别并举例说明
数据库·sql·mysql