Есть ли способ выразить литерал Postgres int в шестнадцатеричном? - PullRequest
20 голосов
/ 06 января 2009

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

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

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

Ответы [ 3 ]

23 голосов
/ 06 января 2009

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

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

или

INSERT INTO foo (i) VALUES (x'1234'::int) -- postgres-specific syntax
8 голосов
/ 06 января 2009

Это похоже на работу:

 CAST(X'3e000000' AS INT)
2 голосов
/ 09 апреля 2018

Вы можете просто использовать

x'1234'::int;

Для получения дополнительной информации см. Мой пост,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...