跳到主要内容

endswith:字符串后缀匹配

速查结论

endswith(left, right) 是 Spark SQL 中用于判断字符串是否以指定后缀结尾的函数。

语法

endswith(left, right)

参数说明

参数类型说明
leftSTRING/BINARY待判断的源字符串或二进制数据
rightSTRING/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 传播:如果 leftright 任一为 NULL,函数返回 NULL。建议使用 COALESCE 处理可能为 NULL 的列。
  • 类型一致性leftright 都必须是 STRING 或 BINARY 类型。两者类型需一致,否则可能产生类型转换错误。
  • 空字符串:空字符串 '' 作为后缀时,endswith 返回 true(任何字符串都以空字符串结尾)。

Since: 3.3.0

📱关注公众号

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

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

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

交流微信二维码

你可能还想看