Postgresql中十六进制值的适当数据类型?

Postgresql中十六进制值的适当数据类型?,postgresql,Postgresql,我需要将十六进制值存储到数据库表中,有人能推荐我需要用于属性的数据类型吗 提前感谢您可以使用bytea存储十六进制格式。更多信息。您可以将其存储为普通整数类型,如果您想转换为十六进制字符串或从十六进制字符串转换为十六进制字符串,则无需太多麻烦 postgresql中已经有一个to_hex选择以_hex(42)应打印2a。要执行相反的操作,需要创建一个新的存储过程(取自) 为什么不存储十进制值(存储起来要紧凑得多)并在选择(例如,通过视图)什么是“十六进制值”时将其转换为所需的任何基数,我们说的是

我需要将十六进制值存储到数据库表中,有人能推荐我需要用于属性的数据类型吗


提前感谢

您可以使用
bytea
存储十六进制格式。更多信息。

您可以将其存储为普通整数类型,如果您想转换为十六进制字符串或从十六进制字符串转换为十六进制字符串,则无需太多麻烦

postgresql中已经有一个
to_hex
<代码>选择以_hex(42)应打印
2a
。要执行相反的操作,需要创建一个新的存储过程(取自)


为什么不存储十进制值(存储起来要紧凑得多)并在选择(例如,通过视图)什么是“十六进制值”时将其转换为所需的任何基数,我们说的是“wikipedia.zip”、
%5a
0xF1D0F00D
for循环是不必要的开销。
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;