postgreSql按位运算、二进制十进制十六进制的表法和转换

时间:2025-03-03 07:51:14
-- postgre 按位运算符 以及结果 注释的后面为结果 SELECT 1|2 ; -- 3 SELECT 1&2 ; -- 0 SELECT 1*2 ; -- 2 SELECT 4>>2 ; -- 1 SELECT 4<<2 ; -- 16 SELECT 12>>2 ; -- 3 SELECT 12#2 ; -- 3 select 60 | 13;-- 61 select 60 & 13;-- 12 select (~60);-- -61 select (60 << 2);-- 240 select (60 >> 2);--15 select 60 # 13; --49 --进制表达和转换 SELECT to_hex(10);-- a (十进制转为十六进制,函数to_hex)) SELECT 10::bit(4); -- 1010 (十进制转为二进制,::bit(4) 4为二进制数长度) SELECT x'A'| x'B'; -- 1010 十六进制查询结果默认转为二进制 十六进制表达式x'A' A为十六进制数值 SELECT x'A' ::bit(4);-- 1010 十六进制转为二进制 十六进制表达式x'A' A为十六进制数值 SELECT x'B':: int ;-- 11 十六进制转为十进制 SELECT B'1010'::int; --10 二进制转为十进制 二进制表达式B'1010' 1010为二进制数值 SELECT to_hex(B'1010'::int);-- a 二进制转为十六进制 先转为十进制再转为十六进制