endswith:字符串后缀匹配
速查结论
endswith(left, right) 是 Spark SQL 中用于判断字符串是否以指定后缀结尾的函数。
语法
endswith(left, right)
参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| left | STRING/BINARY | 待判断的源字符串或二进制数据 |
| right | STRING/BINARY | 要检查的后缀字符串或二进制数据 |
示例
SELECT endswith('Spark SQL', 'SQL');
true
SELECT endswith('Spark SQL', 'Spark');
false
SELECT endswith('Spark SQL', null);
NULL
SELECT endswith(x'537061726b2053514c', x'537061726b');
false
SELECT endswith(x'537061726b2053514c', x'53514c');
true
常见报错与避坑指南
- NULL 传播:如果
left或right任一为 NULL,函数返回 NULL。建议使用COALESCE处理可能为 NULL 的列。 - 类型一致性:
left和right都必须是 STRING 或 BINARY 类型。两者类型需一致,否则可能产生类型转换错误。 - 空字符串:空字符串
''作为后缀时,endswith返回 true(任何字符串都以空字符串结尾)。
Since: 3.3.0
📱关注公众号
「数据仓库技术」文章同步更新,不错过每一篇干货

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