跳到主要内容

find_in_set:逗号列表查找

速查结论

find_in_set(str, str_array) 是 Spark SQL 中用于在逗号分隔的列表中查找字符串并返回其索引的函数。

语法

find_in_set(str, str_array)

参数说明

参数类型说明
strSTRING待查找的字符串
str_arraySTRING逗号分隔的字符串列表。注意整个参数是一个逗号分隔的单字符串,而非数组类型

示例

SELECT find_in_set('ab','abc,b,ab,c,def');
3

常见报错与避坑指南

  • 索引从1开始:返回的索引值从 1 开始计数。如果未找到字符串,返回 0。
  • 查找字符串含逗号:如果 str 参数本身包含逗号,函数直接返回 0(视为无法匹配),因为逗号在列表中是分隔符。
  • NULL 输入:如果任一参数为 NULL,函数返回 NULL。

Since: 1.5.0

📱关注公众号

「数据仓库技术」文章同步更新,不错过每一篇干货

微信公众号二维码
💬加群交流

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

交流微信二维码

你可能还想看