SQL CHOOSE() 函数

一、SQL CHOOSE() 函数

CHOOSE() 函数用于从值列表中检索项目(或值)。它接受两个参数 index 和 values列表(val1,val2,… valn) ,并从SQL服务器的值列表中返回指定索引处的项目(或值)。

注意: 值列表从索引值 1 开始;如果索引值为 零 , CHOOSE() 函数将返回 NULL 。

二、语法

以下是 CHOOSE() 函数的语法:

CHOOSE ( index, val_1, val_2 [, val_n ] )

参数:

  • index − 这是一个整数值,用于指定列表中的索引值。
  • val_1 … val_n − 这是一个带有任何数据类型的逗号分隔值列表。

返回值

此函数返回列表中指定索引值的项。

示例1:

在以下示例中,我们使用SQL CHOOSE() 函数从当前值列表中检索项(或值) ‘Java’, ‘SQL’, ‘MySQL’, ‘JavaScript’ 在指定的 索引2 处。

SELECT CHOOSE ( 2, 'Java', 'SQL', 'MySQL', 'JavaScript') AS Item;

执行上述程序后,将产生以下输出:

+-------+
| Item  |
+-------+
| SQL   |
+-------+

示例2:

您也可以将 数值列表 传递给SQL CHOOSE()函数。

以下是SQL CHOOSE() 函数的另一个示例,用于从当前数值列表 ‘100, 200, 300, 4000, 500’ 的指定索引位置 4 检索项目(或值)。

SELECT CHOOSE ( 4, 100, 200, 300, 400, 500) AS Item;

以下是上述语句的输出结果:

+-------+
| Item  |
+-------+
| 400   |
+-------+

示例3:

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

在这个程序中,我们将 index 参数的值设置为 零(0) 传递给SQL CHOOSE() 函数。然后,使用这个函数,我们尝试从当前列表 (‘Mango’, ‘Banana’, ‘Apple’, ‘Orange’) 中按指定的 索引0 检索项(或值)。

SELECT CHOOSE ( 0, 'Mango', 'Banana', 'Apple', 'Orange') AS Item;

上述SQL语句生成如下输出 –

+-------+
| Item  |
+-------+
| NULL  |
+-------+

示例4:

如果我们将一个空的列表(”)传递给CHOOSE()函数,则此函数对于索引1返回一个空值,并对所有其他索引返回一个NULL值。

SELECT CHOOSE ( 1, '') AS Item;
SELECT CHOOSE ( 2, '') AS Item;

执行以上查询后,会产生以下输出结果:

+-------+
| Item  |
+-------+
|       |
+-------+
+-------+
| Item  |
+-------+
| NULL  |
+-------+

示例5:

如果当前列表为 NULL ,则 CHOOSE() 函数返回 NULL 。

SELECT CHOOSE ( 1, NULL) AS Item;

以下是上述查询的结果:

+-------+
| Item  |
+-------+
| NULL  |
+-------+

示例6:

您也可以将表列作为参数传递给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       |
+----+----------+---------------+
—— 完 ——
相关推荐
评论

立 为 非 似

中 谁 昨 此

宵 风 夜 星

。 露 , 辰

文章点击榜

细 无 轻 自

如 边 似 在

愁 丝 梦 飞

。 雨 , 花