跳到主要内容

lpad:左侧填充

速查结论

lpad(str, len[, pad]) 是 Spark SQL 中用于在字符串左侧填充指定字符至目标长度的函数。

语法

lpad(str, len[, pad])

返回字符串 str,用 pad 填充至左侧,使其长度达到 len。如果 str 的长度超过 len,返回值将缩短至 len 个字符或字节。如果未指定 pad,当 str 是字符字符串时,将用空格字符向左填充,如果是字节序列,则用零填充。

参数说明

参数类型说明
strSTRING / BINARY源字符串或二进制数据
lenINT目标长度
padSTRING / BINARY可选。用于填充的字符或字节,默认为空格(字符串)或零(二进制)

示例

> SELECT lpad('hi', 5, '??');
???hi
> SELECT lpad('hi', 1, '??');
h
> SELECT lpad('hi', 5);
hi
> SELECT hex(lpad(unhex('aabb'), 5));
000000AABB
> SELECT hex(lpad(unhex('aabb'), 5, unhex('1122')));
112211AABB

常见报错与避坑指南

  • str 长度超过 len 时会被截断lpad('hello', 3, '?') 返回 'hel',原字符串右侧部分被丢弃,不会报错。
  • pad 为空字符串时的行为:如果 pad 为空字符串且 str 长度不足 len,可能会返回空结果或异常,建议始终指定有效的填充字符。

Since: 1.5.0

📱关注公众号

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

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

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

交流微信二维码

你可能还想看