SQL CHOOSE() 函数

SQL CHOOSE() 函数

SQL CHOOSE() 函数用于从值列表中检索项目(或值)。它接受两个参数 indexvalues列表(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   |
+-------+

示例

如果我们将 index 参数的值设为 传递给函数,则该函数会返回一个 NULL 值。

在这个程序中,我们将 index 参数的值设置为 零(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       |
+----+----------+---------------+

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程