MySQL ELT() 函数返回字符串列表中的第 N 个元素:str1 如果N = 1,str2 如果N = 2,依此类推。如果 N 小于 1 或大于指定为参数的字符串数,则返回 NULL。该函数是 FIELD() 函数的补充。
语法
ELT(N, str1, str2, str3,...)
参数
N | 必需。 指定索引号。 |
str1, str2, str3,... | 必填。 指定字符串列表。 |
返回值
返回字符串列表中的第 N 个元素。
示例 1:
下面的示例显示了ELT()函数的用法。
mysql> SELECT ELT(1, 'Learning', 'MySQL', 'is', 'fun');
Result: 'Learning'
mysql> SELECT ELT(2, 'Learning', 'MySQL', 'is', 'fun');
Result: 'MySQL'
mysql> SELECT ELT(5, 'Learning', 'MySQL', 'is', 'fun');
Result: NULL
mysql> SELECT ELT(0, 'Learning', 'MySQL', 'is', 'fun');
Result: NULL
mysql> SELECT ELT(4, 'Learning', 'MySQL', 'is', 'fun');
Result: 'fun'
mysql> SELECT ELT(3, 10, 20, 30, '40');
Result: 30
示例 2:
考虑一个名为 EmployeeLogin 的数据库表,其中包含以下记录:
EmpID | Name | Date | LoginTime |
---|---|---|---|
1 | John | 2019-10-25 | 09:20:38 |
2 | Marry | 2019-10-25 | 09:21:05 |
3 | Jo | 2019-10-25 | 09:24:35 |
4 | Kim | 2019-10-25 | 09:25:24 |
5 | Ramesh | 2019-10-25 | 09:27:16 |
以下查询可用于从列记录指定的字符串列表中获取第二个元素:
SELECT *,
ELT(2, Name, Date, LoginTime) AS ELT_Value
FROM EmployeeLogin;
这将产生类似于以下内容的结果:
EmpID | Name | Date | LoginTime | ELT_Value |
---|---|---|---|---|
1 | John | 2019-10-25 | 09:20:38 | 2019-10-25 |
2 | Marry | 2019-10-25 | 09:21:05 | 2019-10-25 |
3 | Jo | 2019-10-25 | 09:24:35 | 2019-10-25 |
4 | Kim | 2019-10-25 | 09:25:24 | 2019-10-25 |
5 | Ramesh | 2019-10-25 | 09:27:16 | 2019-10-25 |
6 | Suresh | 2019-10-25 | 09:28:19 | 2019-10-25 |