有没有办法用十六进制表达Postgres文字int?

时间:2009-01-05 21:57:22

标签: sql postgresql

我有一个很大的十六进制数列表,我想插入PostgresQL表。我试过这样的事情:

INSERT INTO foo (i)
VALUES (0x1234);

......但那没用。这可能吗?

3 个答案:

答案 0 :(得分:23)

正如您所指出的那样,您可以从用十六进制编写的bit-string constant开始,然后用type-cast it开头到您想要的类型。所以,

INSERT INTO foo (i) VALUES (CAST(x'1234' AS int))

INSERT INTO foo (i) VALUES (x'1234'::int) -- postgres-specific syntax

答案 1 :(得分:8)

这似乎有效:

 CAST(X'3e000000' AS INT)

答案 2 :(得分:2)

你可以使用

x'1234'::int;

有关详细信息,请参阅我的帖子,