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!
相关推荐
Amazing_Cacao5 分钟前
CFCA精品可可工艺师初级校准:暴力破解机器黑盒,实现物理参数与最终风味的精准对齐
笔记·学习
阿米亚波8 分钟前
【EVE-NG 实战】防火墙基础(VLAN · VRRP · NAT · ACL · 静态路由)
运维·网络·笔记·网络协议·计算机网络·网络安全·运维开发
time展天118 分钟前
.NET 10 使用 Microsoft.AspNetCore.OpenApi 实现 API 版本管理
microsoft·.net
wang090723 分钟前
自己动手写一个spring之MVC_3
java·spring·mvc
闲猫34 分钟前
Spring AI / Models / Chat Models / Ollama
java·人工智能·spring
日取其半万世不竭37 分钟前
云服务器迁移怎么少停机?DNS 切换前后的完整清单
运维·服务器
FREEDOM_X1 小时前
Linux 多线程编程——总结
java·linux·运维·ubuntu
tmlx3I0811 小时前
Tomcat的架构设计和启动过程详解
java·tomcat
weixin_422329311 小时前
AgentScope Java 项目入门 & Builder 深度解读
java·开发语言·人工智能
shepherd1261 小时前
一次把 Spring MVC 文件上传参数“查没了”的排查:multipart、Filter 与 request body 的连环坑
java·后端·spring·mvc