shiftright:位运算右移
速查结论
shiftright(base, expr) 是 Spark SQL 中用于对 base 进行按位(有符号)右移 expr 位的函数,等效于 floor(base / pow(2, expr))。
语法
shiftright(base, expr)
参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| base | 整数 | 要进行移位操作的基数值。 |
| expr | 整数 | 右移的位数。 |
示例
> SELECT shiftright(4, 1);
2
常见报错与避坑指南
- 有符号右移 vs 无符号右移:shiftright 执行的是有符号右移(算术右移),会保留符号位。若需无符号右移(逻辑右移,高位补零),请使用 shiftrightunsigned。
- 参数类型不匹配:shiftright 要求两个参数均为整数类型,传入非整数类型会导致错误。
Since: 1.5.0
📱关注公众号
「数据仓库技术」文章同步更新,不错过每一篇干货

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