Postgresql中十六进制值的相应数据类型?

时间:2015-01-20 18:21:07

标签: postgresql

我需要将Hex值存储到数据库表中,任何人都可以推荐我需要用于属性的数据类型吗?

提前致谢

2 个答案:

答案 0 :(得分:0)

您可以使用bytea存储十六进制格式。更多信息can be found in the postgresql docs

答案 1 :(得分:0)

您可以将其存储为普通的整数类型,如果您想要与十六进制字符串进行转换,您可以毫不费力地执行此操作。

postgresql中已经有to_hexSELECT 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;