elt:按索引返回元素
速查结论
elt(n, input1, input2, ...) 是 Spark SQL 中用于返回第 n 个输入值的函数。
语法
elt(n, input1, input2, ...)
参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| n | INT | 索引值(从1开始),决定返回第几个 input |
| input1, input2, ... | 任意 | 输入值列表 |
示例
SELECT elt(1, 'scala', 'java');
scala
SELECT elt(2, 'a', 1);
1
常见报错与避坑指南
- 索引越界行为:如果索引超出数组长度,且
spark.sql.ansi.enabled设置为 false(默认),函数返回 NULL。如果spark.sql.ansi.enabled设置为 true,则抛出ArrayIndexOutOfBoundsException。 - 索引从1开始:与许多编程语言不同,
elt的索引从 1 开始而非 0。索引 1 对应第一个输入。 - NULL 索引:如果
n为 NULL,函数返回 NULL。
Since: 2.0.0
📱关注公众号
「数据仓库技术」文章同步更新,不错过每一篇干货

💬加群交流
备注「数据仓库技术」加入社群,每日一道大厂SQL真题
