- SQL 教程
- SQL - 首页
- SQL - 概述
- SQL - RDBMS 概念
- SQL - 数据库
- SQL - 语法
- SQL - 数据类型
- SQL - 运算符
- SQL - 表达式
- SQL 数据库
- SQL - 创建数据库
- SQL - 删除数据库
- SQL - 选择数据库
- SQL - 重命名数据库
- SQL - 显示数据库
- SQL - 备份数据库
- SQL 表格
- SQL - 创建表格
- SQL - 显示表格
- SQL - 重命名表格
- SQL - 截断表格
- SQL - 克隆表格
- SQL - 临时表格
- SQL - 修改表格
- SQL - 删除表格
- SQL - 删除表格
- SQL - 约束
- SQL 查询
- SQL - 插入查询
- SQL - 选择查询
- SQL - Select Into
- SQL - Insert Into Select
- SQL - 更新查询
- SQL - 删除查询
- SQL - 排序结果
- SQL 视图
- SQL - 创建视图
- SQL - 更新视图
- SQL - 删除视图
- SQL - 重命名视图
- SQL 运算符和子句
- SQL - Where 子句
- SQL - Top 子句
- SQL - Distinct 子句
- SQL - Order By 子句
- SQL - Group By 子句
- SQL - Having 子句
- SQL - AND & OR
- SQL - BOOLEAN (BIT) 运算符
- SQL - LIKE 运算符
- SQL - IN 运算符
- SQL - ANY, ALL 运算符
- SQL - EXISTS 运算符
- SQL - CASE
- SQL - NOT 运算符
- SQL - 不等于
- SQL - IS NULL
- SQL - IS NOT NULL
- SQL - NOT NULL
- SQL - BETWEEN 运算符
- SQL - UNION 运算符
- SQL - UNION 与 UNION ALL
- SQL - INTERSECT 运算符
- SQL - EXCEPT 运算符
- SQL - 别名
- SQL 连接
- SQL - 使用连接
- SQL - 内连接
- SQL - 左连接
- SQL - 右连接
- SQL - 交叉连接
- SQL - 全连接
- SQL - 自连接
- SQL - 删除连接
- SQL - 更新连接
- SQL - 左连接与右连接
- SQL - Union 与 Join
- SQL 键
- SQL - 唯一键
- SQL - 主键
- SQL - 外键
- SQL - 复合键
- SQL - 备用键
- SQL 索引
- SQL - 索引
- SQL - 创建索引
- SQL - 删除索引
- SQL - 显示索引
- SQL - 唯一索引
- SQL - 聚集索引
- SQL - 非聚集索引
- 高级 SQL
- SQL - 通配符
- SQL - 注释
- SQL - 注入
- SQL - 托管
- SQL - Min & Max
- SQL - 空值函数
- SQL - 检查约束
- SQL - 默认约束
- SQL - 存储过程
- SQL - NULL 值
- SQL - 事务
- SQL - 子查询
- SQL - 处理重复项
- SQL - 使用序列
- SQL - 自动递增
- SQL - 日期和时间
- SQL - 游标
- SQL - 公共表表达式
- SQL - Group By 与 Order By
- SQL - IN 与 EXISTS
- SQL - 数据库调优
- SQL 函数参考
- SQL - 日期函数
- SQL - 字符串函数
- SQL - 聚合函数
- SQL - 数值函数
- SQL - 文本和图像函数
- SQL - 统计函数
- SQL - 逻辑函数
- SQL - 游标函数
- SQL - JSON 函数
- SQL - 转换函数
- SQL - 数据类型函数
- SQL 有用资源
- SQL - 问答
- SQL - 快速指南
- SQL - 有用函数
- SQL - 有用资源
- SQL - 讨论
SQL - CHOOSE() 函数
SQL 的CHOOSE()函数用于从值列表中检索项目(或值)。它接受两个参数索引和值列表(val1、val2、...valn),并在 SQL 服务器中返回值列表中指定索引处的项目(或值)。
注意 - 值列表从索引值1开始;如果索引值为零,则CHOOSE()函数返回NULL。
语法
以下是 SQL CHOOSE()函数的语法 -
CHOOSE ( index, val_1, val_2 [, val_n ] )
参数
index - 它是一个整数值,指定列表中的索引值。
val_1 ... val_n - 它是任何数据类型的逗号分隔值列表。
返回值
此函数返回指定索引值处列表中的一个项目。
示例
在下面的示例中,我们使用 SQL CHOOSE()函数从当前值列表'Java'、'SQL'、'MySQL'、'JavaScript'中检索指定索引 2处的项目(或值)。
SELECT CHOOSE ( 2, 'Java', 'SQL', 'MySQL', 'JavaScript') AS Item;
输出
执行上述程序后,将产生以下输出 -
+-------+ | Item | +-------+ | SQL | +-------+
示例
您还可以将数值列表传递给 SQL CHOOSE() 函数。
以下是 SQL CHOOSE()函数的另一个示例,用于从当前数字列表'100、200、300、4000、500'中检索指定索引(或位置)4处的项目(或值)。
SELECT CHOOSE ( 4, 100, 200, 300, 400, 500) AS Item;
输出
以下是上述语句的输出 -
+-------+ | Item | +-------+ | 400 | +-------+
示例
如果我们将索引参数值作为零传递给函数,则此函数返回NULL值。
在此程序中,我们将索引参数值作为零(0)传递给 SQL CHOOSE()函数。然后,使用此函数,我们尝试从当前列表('Mango'、'Banana'、'Apple'、'Orange')中检索指定索引 0处的项目(或值)。
SELECT CHOOSE ( 0, 'Mango', 'Banana', 'Apple', 'Orange') AS Item;
输出
上述 SQL 语句产生以下输出 -
+-------+ | Item | +-------+ | NULL | +-------+
示例
如果我们将空列表(‘’)传递给CHOOSE()函数,则此函数对于索引 1返回空值,对于其余所有索引返回NULL值。
SELECT CHOOSE ( 1, '') AS Item; SELECT CHOOSE ( 2, '') AS Item;
输出
执行上述查询后,将产生以下输出 -
+-------+ | Item | +-------+ | | +-------+ +-------+ | Item | +-------+ | NULL | +-------+
示例
如果当前列表为NULL,则CHOOSE()函数返回NULL。
SELECT CHOOSE ( 1, NULL) AS Item;
输出
以下是上述查询的输出 -
+-------+ | Item | +-------+ | NULL | +-------+
示例
您还可以将表列作为参数传递给 SQL CHOOSE()函数,以从列的内容中检索项目(或值)。假设我们使用以下CREATE语句创建了一个名为Customer的表 -
CREATE TABLE CUSTOMERS( ID INT NOT NULL, NAME VARCHAR (20) NOT NULL, AGE INT NOT NULL, ADDRESS CHAR (25) , SALARY DECIMAL (18, 2));
现在,让我们使用如下所示的INSERT语句将一些记录插入Customers表中 -
INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY) VALUES (1, 'Ramesh', 32, 'Ahmedabad', 2000.00 ); INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY) VALUES (2, 'Khilan', 25, 'Delhi', 1500.00 ); INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY) VALUES (3, 'kaushik', 23, 'Kota', 2000.00 ); INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY) VALUES (4, 'Chaitali', 25, 'Mumbai', 6500.00 );
以下 SQL 查询从Customers表中Salary列的内容中检索项目(或值) -
SELECT ID, NAME, CHOOSE(1, SALARY) AS CUST_SALARY FROM CUSTOMERS;
输出
上述 SQL 查询生成以下输出 -
+----+----------+---------------+ | ID | NAME | CUST_SALARY | +----+----------+---------------+ | 1 | Ramesh | 2000.00 | | 2 | Khilan | 1500.00 | | 3 | kaushik | 2000.00 | | 4 | Chaitali | 6500.00 | +----+----------+---------------+