SQL Server 函数

SQL Server (Transact-SQL) CHOOSE() 函数返回列表的第 Nth 个元素项目:val1(如果N = 1),val2(如果N = 2),依此类推。如果 N 小于 1 或大于指定为参数的项目数,则返回 NULL。

语法

CHOOSE(N, val1, val2, val3,...) 

参数

N必填。 指定索引号。
val1, val2, val3,...必填。 指定项目列表。

返回值

返回列表第N个项目元素。

示例 1:

下面的示例显示了CHOOSE()函数的用法。

SELECT CHOOSE(1, 'Learning', 'SQL Server', 'is', 'fun');
Result: 'Learning'

SELECT CHOOSE(2, 'Learning', 'SQL Server', 'is', 'fun');
Result: 'SQL Server'

SELECT CHOOSE(5, 'Learning', 'SQL Server', 'is', 'fun');
Result: NULL

SELECT CHOOSE(0, 'Learning', 'SQL Server', 'is', 'fun');
Result: NULL

SELECT CHOOSE(4, 'Learning', 'SQL Server', 'is', 'fun');
Result: 'fun'

SELECT CHOOSE(3, 10, 20, 30, '40');
Result: 30 

示例 2:

考虑一个名为 EmployeeLogin 的数据库表,其中包含以下记录:

EmpIDNameDateLoginTime
1John2019-10-2509:20:38
2Marry2019-10-2509:21:05
3Jo2019-10-2509:24:35
4Kim2019-10-2509:25:24
5Ramesh2019-10-2509:27:16

以下查询可用于从列记录指定的项目列表中获取第二个元素:

SELECT *, 
CHOOSE(2, Name, Date, LoginTime) AS CHOOSE_Value
FROM EmployeeLogin; 

这将产生类似于以下内容的结果:

EmpIDNameDateLoginTimeCHOOSE_Value
1John2019-10-2509:20:382019-10-25
2Marry2019-10-2509:21:052019-10-25
3Jo2019-10-2509:24:352019-10-25
4Kim2019-10-2509:25:242019-10-25
5Ramesh2019-10-2509:27:162019-10-25
6Suresh2019-10-2509:28:192019-10-25