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!
相关推荐
蓝黑202014 小时前
SQL的update语句更新顺序的坑
数据库·sql·mysql
小旭952714 小时前
Spring 纯注解配置与 SpringBoot 入门详解
java·开发语言·spring boot·后端·spring
ADRU14 小时前
SSE 到底是什么?它和 HTTP 有什么关系?Java/Spring 怎么实现流式输出(可直接上手)
java·spring·http
de_wizard14 小时前
Spring Boot 整合 Keycloak
java·spring boot·后端
Re_zero14 小时前
throws 还是 try-catch?Code Review 里被我打回最多的异常处理
java·代码规范
稽稽稽稽不如人14 小时前
《从零开始的java从入门到入土的学习生活——JavaWeb后端篇》Chapter19——JavaWeb后端篇学习记录——Spring事务管理、异常处理
java·学习·生活
皙然14 小时前
深度解析 “池化思想”:从设计模式到 Java 技术栈的落地与实践
java·开发语言·设计模式
浅念-14 小时前
Linux 基础命令与核心知识点
linux·数据结构·c++·经验分享·笔记·算法·ubuntu
云烟成雨TD14 小时前
Spring AI 1.x 系列【12】Advisors API:AI 交互拦截增强
java·人工智能·spring
渔民小镇15 小时前
告别 if-else 地狱 —— JSR380 参数验证在 ionet 中的应用
java·服务器·分布式·游戏