find_in_set:逗号列表查找
速查结论
find_in_set(str, str_array) 是 Spark SQL 中用于在逗号分隔的列表中查找字符串并返回其索引的函数。
语法
find_in_set(str, str_array)
参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| str | STRING | 待查找的字符串 |
| str_array | STRING | 逗号分隔的字符串列表。注意整个参数是一个逗号分隔的单字符串,而非数组类型 |
示例
SELECT find_in_set('ab','abc,b,ab,c,def');
3
常见报错与避坑指南
- 索引从1开始:返回的索引值从 1 开始计数。如果未找到字符串,返回 0。
- 查找字符串含逗号:如果
str参数本身包含逗号,函数直接返回 0(视为无法匹配),因为逗号在列表中是分隔符。 - NULL 输入:如果任一参数为 NULL,函数返回 NULL。
Since: 1.5.0
📱关注公众号
「数据仓库技术」文章同步更新,不错过每一篇干货

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