shiftleft:位运算左移
速查结论
shiftleft(base, expr) 是 Spark SQL 中用于对 base 进行按位左移 expr 位的函数,等效于 base * pow(2, expr)。
语法
shiftleft(base, expr)
参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| base | 整数 | 要进行移位操作的基数值。 |
| expr | 整数 | 左移的位数。 |
示例
> SELECT shiftleft(2, 1);
4
常见报错与避坑指南
- 参数类型不匹配:shiftleft 要求两个参数均为整数类型,传入非整数类型会导致错误。
- 溢出风险:左移操作可能导致整数溢出。Spark SQL 内部会扩展位宽来处理,但结果值可能超出常规整数范围,需要注意下游处理逻辑的兼容性。
Since: 1.5.0
📱关注公众号
「数据仓库技术」文章同步更新,不错过每一篇干货

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