文章目录
原文:Apache Spark SQL --- Bitwise Functions
本分类按照 Spark SQL 官方目录函数顺序整理,共 13 个函数。
1、&
语法
sql
expr1 & expr2
说明
返回两个表达式按位与的结果。
示例
sql
> SELECT 3 & 5;
1
引入版本: 1.4.0
2、<<
语法
sql
base << exp
说明
将整数按位左移指定的位数。
示例
sql
> SELECT 2 << 1;
4
引入版本: 4.0.0
3、>>
语法
sql
base >> expr
说明
将整数按符号右移指定的位数。
示例
sql
> SELECT 4 >> 1;
2
引入版本: 4.0.0
4、>>>
语法
sql
base >>> expr
说明
将整数进行无符号右移。
示例
sql
> SELECT 4 >>> 1;
2
引入版本: 4.0.0
5、^
语法
sql
expr1 ^ expr2
说明
返回两个表达式按位异或的结果。
示例
sql
> SELECT 3 ^ 5;
6
引入版本: 1.4.0
6、bit_count
语法
sql
bit_count(expr)
说明
返回整数二进制表示中值为 1 的位数。
示例
sql
> SELECT bit_count(0);
0
引入版本: 3.0.0
7、bit_get
语法
sql
bit_get(expr, pos)
说明
获取整数第 pos 个二进制位的值;位从右往左以 0 开始计数。
示例
sql
> SELECT bit_get(11, 0);
1
引入版本: 3.2.0
8、getbit
语法
sql
getbit(expr, pos)
说明
获取整数第 pos 个二进制位的值;位从右往左以 0 开始计数。
示例
sql
> SELECT getbit(11, 0);
1
引入版本: 3.2.0
9、shiftleft
语法
sql
base shiftleft exp
说明
执行按位左移。
示例
sql
> SELECT shiftleft(2, 1);
4
引入版本: 1.5.0
10、shiftright
语法
sql
base shiftright expr
说明
执行带符号按位右移。
示例
sql
> SELECT shiftright(4, 1);
2
引入版本: 1.5.0
11、shiftrightunsigned
语法
sql
base shiftrightunsigned expr
说明
执行无符号按位右移。
示例
sql
> SELECT shiftrightunsigned(4, 1);
2
引入版本: 1.5.0
12、|
语法
sql
expr1 | expr2
说明
返回两个表达式按位或的结果。
示例
sql
> SELECT 3 | 5;
7
引入版本: 1.4.0
13、~
语法
sql
~ expr
说明
返回表达式按位取反的结果。
示例
sql
> SELECT ~ 0;
-1
引入版本: 1.4.0