PostgreSQL中的二进制转换程序(补充)
来源:百度文库 编辑:神马文学网 时间:2024/05/16 00:20:58
IP转换为整数: select cast((int1::bit(64)<<24)|(int2::bit(64)<<16)|(int3::bit(64)<<8)|(int4::bit(64)) as bigint) into ret_ip; 二进制字符串转换为IP地址:
tmp_bit := str_bit::bit(64);
len := length(tmp_bit);
--先頭の32桁は ’0’です。
for i in 33..len by 8 loop
tmp_int := substring(tmp_bit, i, 8) :: bigint;
if i-32 = 1 then
ip := ip || tmp_int ;
else
ip := ip || ‘.‘ || tmp_int ;
end if;
end loop;