我需要将Hex值存储到数据库表中,任何人都可以推荐我需要用于属性的数据类型吗?
提前致谢
答案 0 :(得分:0)
您可以使用bytea
存储十六进制格式。更多信息can be found in the postgresql docs。
答案 1 :(得分:0)
您可以将其存储为普通的整数类型,如果您想要与十六进制字符串进行转换,您可以毫不费力地执行此操作。
postgresql中已经有to_hex
。 SELECT to_hex(42)
应打印2a
。要做到相反,需要创建一个新的存储过程(取自http://www.varlena.com/GeneralBits/104.php)。
CREATE FUNCTION hex2dec(t text) RETURNS integer AS
$$
DECLARE
r RECORD;
BEGIN
FOR r IN EXECUTE 'SELECT x'''||t||'''::integer AS hex' LOOP
RETURN r.hex;
END LOOP;
END
$$ LANGUAGE plpgsql IMMUTABLE STRICT;