第42.1节:CHOOSE
版本 ≥ SQL Server 2012
从值列表中返回指定索引处的项目。如果索引超出值的范围,则返回NULL。
参数:
- index:整数,值列表中的索引。基于1。
- values:任何类型,逗号分隔的列表
sql
SELECT CHOOSE (1, 'apples', 'pears', 'oranges', 'bananas') AS chosen_result
| chosen_result |
|---|
| apples |
第42.2节:IIF
版本 ≥ SQL Server 2012
根据给定布尔表达式的计算结果为true或false,返回两个值之一。
参数:
- boolean_expression:计算以确定返回哪个值的布尔表达式
- true_value:如果boolean_expression计算为true则返回的值
- 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! |