lpad:左侧填充
速查结论
lpad(str, len[, pad]) 是 Spark SQL 中用于在字符串左侧填充指定字符至目标长度的函数。
语法
lpad(str, len[, pad])
返回字符串 str,用 pad 填充至左侧,使其长度达到 len。如果 str 的长度超过 len,返回值将缩短至 len 个字符或字节。如果未指定 pad,当 str 是字符字符串时,将用空格字符向左填充,如果是字节序列,则用零填充。
参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| str | STRING / BINARY | 源字符串或二进制数据 |
| len | INT | 目标长度 |
| pad | STRING / 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真题
