逻辑和位运算函数

最近更新时间:2019-10-23 17:37:15

逻辑函数

逻辑函数用来执行逻辑运算,结果是布尔值(Boolean)。

逻辑状态有 TRUE、FALSE、UNKNOWN 三种(NULL 值的逻辑状态是 UNKNOWN),因而 NOT TRUE 不一定是 FALSE,还可能是 UNKNOWN。

函数名 功能描述
boolean1 OR boolean2 如果 boolean1 或者 boolean2 任意一个为 TRUE,则返回 TRUE。
boolean1 AND boolean2 当且仅当 boolean1 和 boolean2 均为 TRUE 时才返回 TRUE。
NOT boolean 如果 boolean 为 TRUE 则返回 FALSE;如果为 FALSE 则返回 TRUE;如果为 UNKNOWN 则返回 UNKNOWN。
boolean IS FALSE 如果 boolean 为 FALSE 则返回 TRUE;如果 boolean 为 UNKNOWN 则返回 FALSE。
boolean IS NOT FALSE 如果 boolean 不为 FALSE 则返回 TRUE;如果为 UNKNOWN 则返回 TRUE。
boolean IS UNKNOWN 如果 boolean 为 UNKNOWN 则返回 TRUE。
boolean IS NOT UNKNOWN 如果 boolean 不为 UNKNOWN 则返回 TRUE。

位运算函数

位运算函数用于对两个整数值做按位的逻辑操作,例如常见的“与”、“或”、“非”、“异或”等。

注意:

目前位运算函数仍在持续添加中,个别会有不可用的情况,详情请咨询客服。

函数名 功能描述
BIT_COUNT 统计一个数字所占的二进制位数,例如十进制数字12的二进制表示法为1100,一共有四位,那么 BIT_COUNT(12) 返回4。
BIT_OR 位运算:或(OR)。
BIT_AND 位运算:与(AND)。
BIT_NOT 位运算:非(NOT)。
BIT_XOR 位运算:异或(XOR)。
BIT_SHIFT_LEFT 位运算:逻辑左移,低位填 0。
BIT_SHIFT_RIGHT 位运算:逻辑右移,高位填 0。
SIGNED_SHIFT_RIGHT 算术右移,保持最高位符号位不变。