BITAND

说明

此函数的功能是对两个参数进行位与计算,如果相同位都是1则返回1,否则就返回0。例如,5(二进制是0101),9(二进制是1001),bitand(5,9)运算结果是1(二进制0001)。

语法

bitand ::=

参数

expression

数值类型的表达式,最大支持1000位十进制整数。可以有以下几种类型:

  • INT1类型
  • INT2类型
  • INT4类型
  • INT8类型
  • NUMERIC类型

返回值

返回 int_expression 整数值,其返回值有以下几种类型:

  • 输入参数都是INT1类型,返回类型是INT1类型;
  • 输入参数都是INT2类型,返回类型是INT2类型;
  • 输入参数都是INT4类型,返回类型是INT4类型;
  • 输入参数都是INT8类型,返回类型是INT8类型;
  • 输入参数都是NUMERIC类型,返回类型是NUMERIC类型;

注解

  • 如果是非整数值,将只保留整数位进行运算。
  • 输入参数必须小于10^1001,大于-10^1001。
  • 如果有参数为NaN则报错。

示例

示例1: 用 BITAND 求两个数的位与

SELECT bitand(2147483647.789767,-2147483647.000) FROM DUAL;
BITAND(numeric)      |
---------------------
1                    |
总数目:1

SELECT bitand(2147483648,-2147483647.99887) FROM DUAL;
BITAND(numeric)      |
---------------------
2147483648           |
总数目:1

select bitand(2147483649.1,-2147483647.9) from dual;
BITAND(numeric)      |
---------------------
2147483649           |
总数目:1

SELECT BITAND(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999,-999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999);
BITAND(numeric)      |
---------------------
1                    |
总数目:1