Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


~(按位非)

📄字数 493
👁️阅读量 加载中...

功能描述

将二进制数的所有位执行取反操作。

语法格式

 ~ R_OPERAND_TYP

输入参数

L_OPERAND_TYP(左操作数类型)R_OPERAND_TYP(右操作数类型)RET_TYPE(返回类型)
BIGINTBIGINT
VARBITVARBIT

输出结果

输出结果的类型根据输入参数类型决定,表1展示输入类型以及返回类型。

示例

sql
-- 对二进制VARBIT类型字符串101进行按位非运算。
SQL> SELECT ~ b'101';

+--------+
| EXPR1  |
+--------+
| b'010' |
+--------+

-- 对BITINT类型数据进行按位非运算。
SQL> SELECT ~ 1;

+-------+
| EXPR1 |
+-------+
| -2    |
+-------+

-- BIGINT类型的按位非运算支持隐式转换成BIGINT类型运算,对于非位运算,返回结果支持有符号数。
SQL> CREATE TABLE tab_tt(c1 TINYINT, c2 SMALLINT, c3 INT, c4 FLOAT, c5 DOUBLE, c6 VARCHAR, c7 NUMERIC);

SQL> INSERT INTO tab_tt VALUES(1, 2, 3, 4.3, 5.6, '4', 1.5);

SQL> SELECT ~ c1, ~ c2, ~ c3, ~ c4, ~ c5, ~ c6, ~ c7 FROM tab_tt;

+-------+-------+-------+-------+-------+-------+-------+
| EXPR1 | EXPR2 | EXPR3 | EXPR4 | EXPR5 | EXPR6 | EXPR7 |
+-------+-------+-------+-------+-------+-------+-------+
| -2    | -3    | -4    | -5    | -7    | -5    | -3    |
+-------+-------+-------+-------+-------+-------+-------+