Подтвердить что ты не робот

Есть ли способ выразить литерал postgres int в шестнадцатеричном формате?

У меня есть большой список шестнадцатеричных чисел, которые я хотел бы вставить в таблицу PostgresQL. Я пробовал что-то вроде этого:

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

... но это не сработало. Возможно ли это?

4b9b3361

Ответ 1

Как вы уже отметили, вы можете начать с константы битовой строки, написанной в шестнадцатеричном формате, а затем введите тип в нужный тип. Таким образом,

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

или

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

Ответ 2

Это работает:

 CAST(X'3e000000' AS INT)