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

mik*_*ike 20 sql postgresql

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

INSERT INTO foo (i)
VALUES (0x1234);
Run Code Online (Sandbox Code Playgroud)

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

Rob*_*edy 23

正如您所指出的,您可以从以十六进制编写的位串常量开始,然后将其类型转换为您想要的类型.所以,

INSERT INTO foo (i) VALUES (CAST(x'1234' AS int))
Run Code Online (Sandbox Code Playgroud)

要么

INSERT INTO foo (i) VALUES (x'1234'::int) -- postgres-specific syntax
Run Code Online (Sandbox Code Playgroud)


mik*_*ike 8

这似乎有效:

 CAST(X'3e000000' AS INT)
Run Code Online (Sandbox Code Playgroud)