- 类别:
BITNOT¶
返回数值表达式的按位取反结果。
- 别名:
BIT_NOT
语法¶
BITNOT( <expr> )
实参¶
expr
此表达式的计算结果必须是可以转换为
INTEGER
的数据类型。
返回¶
返回一个整数,表示输入表达式的按位否定。
使用说明¶
如果实参的数据类型是数字,但不是
INTEGER``(例如 FLOAT、DECIMAL 等),则将该实参转换为 ``INTEGER
。如果实参的数据类型是字符串(例如
VARCHAR
),则将该实参转换为INTEGER
(如果可能)。例如,字符串“12.3”转换为 12。如果该值无法转换为INTEGER
,则该值被视为 NULL。如果实参为 NULL,则结果为 NULL。
示例¶
此示例说明如何使用 BITNOT
:
创建简单的表和数据:
CREATE TABLE bits (ID INTEGER, bit1 INTEGER, bit2 INTEGER);INSERT INTO bits (ID, bit1, bit2) VALUES ( 11, 1, 1), -- Bits are all the same. ( 24, 2, 4), -- Bits are all different. ( 42, 4, 2), -- Bits are all different. ( 1624, 16, 24), -- Bits overlap. (65504, 0, 65504), -- Lots of bits (all but the low 6 bits) ( 0, NULL, NULL) -- No bits ;执行查询:
SELECT bit1, bit2, BITNOT(bit1), BITNOT(bit2) FROM bits ORDER BY bit1;输出:
+------+-------+--------------+--------------+ | BIT1 | BIT2 | BITNOT(BIT1) | BITNOT(BIT2) | |------+-------+--------------+--------------| | 0 | 65504 | -1 | -65505 | | 1 | 1 | -2 | -2 | | 2 | 4 | -3 | -5 | | 4 | 2 | -5 | -3 | | 16 | 24 | -17 | -25 | | NULL | NULL | NULL | NULL | +------+-------+--------------+--------------+