跳到主要内容

elt:按索引返回元素

速查结论

elt(n, input1, input2, ...) 是 Spark SQL 中用于返回第 n 个输入值的函数。

语法

elt(n, input1, input2, ...)

参数说明

参数类型说明
nINT索引值(从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真题

交流微信二维码

你可能还想看