位操作函数
更新时间:2022-09-13
PALO 支持以下位操作函数:
1.bitand
2.bitnot
3.bitor
4.bitxor
BITAND
Desciption
SQL
1bitand(integer_type a, same_type b)
- 功能:按位与运算
- 返回类型: 和输入类型相同
Example
SQL
1mysql> select bitand(255, 32767); /* 0000000011111111 & 0111111111111111 */
2+--------------------+
3| bitand(255, 32767) |
4+--------------------+
5| 255 |
6+--------------------+
7
8mysql> select bitand(32767, 1); /* 0111111111111111 & 0000000000000001 */
9+------------------+
10| bitand(32767, 1) |
11+------------------+
12| 1 |
13+------------------+
14
15mysql> select bitand(32, 16); /* 00010000 & 00001000 */
16+----------------+
17| bitand(32, 16) |
18+----------------+
19| 0 |
20+----------------+
21
22mysql> select bitand(12,5); /* 00001100 & 00000101 */
23+---------------+
24| bitand(12, 5) |
25+---------------+
26| 4 |
27+---------------+
28
29mysql> select bitand(-1,15); /* 11111111 & 00001111 */
30+----------------+
31| bitand(-1, 15) |
32+----------------+
33| 15 |
34+----------------+
Keywords
Plain Text
1bitand
BITNOT
Desciption
SQL
1bitnot(integer_type a)
- 功能:按位非运算
- 返回类型:和输入类型相同
Example
SQL
1mysql> select bitnot(127); /* 01111111 -> 10000000 */
2+-------------+
3| bitnot(127) |
4+-------------+
5| -128 |
6+-------------+
7
8mysql> select bitnot(16); /* 00010000 -> 11101111 */
9+------------+
10| bitnot(16) |
11+------------+
12| -17 |
13+------------+
14
15mysql> select bitnot(0); /* 00000000 -> 11111111 */
16+-----------+
17| bitnot(0) |
18+-----------+
19| -1 |
20+-----------+
21
22mysql> select bitnot(-128); /* 10000000 -> 01111111 */
23+--------------+
24| bitnot(-128) |
25+--------------+
26| 127 |
27+--------------+
Keywords
Plain Text
1bitnot
BITOR
Desciption
SQL
1bitor(integer_type a, same_type b)
- 功能:按位或运算
- 返回类型:和输入类型相同
Example
SQL
1mysql> select bitor(1,4); /* 00000001 | 00000100 */
2+-------------+
3| bitor(1, 4) |
4+-------------+
5| 5 |
6+-------------+
7
8mysql> select bitor(16,48); /* 00001000 | 00011000 */
9+---------------+
10| bitor(16, 48) |
11+---------------+
12| 48 |
13+---------------+
14
15mysql> select bitor(0,7); /* 00000000 | 00000111 */
16+-------------+
17| bitor(0, 7) |
18+-------------+
19| 7 |
20+-------------+
Keywords
Plain Text
1bitor
BITXOR
Desciption
SQL
1bitxor(integer_type a, same_type b)
- 功能:按位异或运算
- 返回类型:和输入类型相同
Example
SQL
1mysql> select bitxor(0,15); /* 00000000 ^ 00001111 */
2+---------------+
3| bitxor(0, 15) |
4+---------------+
5| 15 |
6+---------------+
7
8mysql> select bitxor(7,7); /* 00000111 ^ 00000111 */
9+--------------+
10| bitxor(7, 7) |
11+--------------+
12| 0 |
13+--------------+
14
15mysql> select bitxor(8,4); /* 00001000 ^ 00000100 */
16+--------------+
17| bitxor(8, 4) |
18+--------------+
19| 12 |
20+--------------+
21
22mysql> select bitxor(3,7); /* 00000011 ^ 00000111 */
23+--------------+
24| bitxor(3, 7) |
25+--------------+
26| 4 |
27+--------------+
Keywords
Plain Text
1bitxor