以转义格式插入十六进制值(bytea)

时间:2014-11-03 07:59:24

标签: postgresql-9.3 bytea

如何插入十六进制值,如\ x320000000d2f2100 以转义格式转换为bytea字段?

bytea_output设置设置为转义

1 个答案:

答案 0 :(得分:3)

bytea_output设置与服务器解释bytea 的方式无关,只与发送到客户端的方式有关。

是否要插入文字字符串\x320000000d2f2100(如7位ascii),即生成字节0x5c 0x78 0x33 0x32 0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x64 0x32 0x66 0x32 0x31 0x30 0x30

如果是这样,请转义反斜杠,如escape格式bytea文字的语法中所述。

regress=> SELECT BYTEA '\\x320000000d2f2100';
                 bytea                  
----------------------------------------
 \x5c7833323030303030303064326632313030
(1 row)

是否要插入字节0x32 0x00 0x00 0x00 0x0d 0x2f 0x21 0x00,即十六进制值?如果是这样,转义反斜杠。 bytea_output的设置无关紧要。

regress=> SELECT BYTEA '\x320000000d2f2100';
       bytea        
--------------------
 \x320000000d2f2100
(1 row)