peoria123 Ответов: 1

Вопрос в PostgreSQL тип ДБ


Какой тип данных следует использовать для исходного столбца?
Я хочу импортировать данные в базу данных postgreSQL

данные в исходном столбце
От 0x00
От 0x00
0x01
0xBA
0x90

Спасибо.

Что я уже пробовал:

Я попробовал использовать тип данных bytea. когда я импортирую данные в БД
Я получаю данные following в исходную колонку
& lt;двоичные данные>
& lt;двоичные данные>
& lt;двоичные данные>
& lt;двоичные данные>
& lt;двоичные данные>

RedDk

Хорошо, вот контроль комментариев. "Нашел!"...

RickZeeland

Можете ли вы сказать нам, какой тип данных имеет исходное поле базы данных ?

1 Ответов

Рейтинг:
1

RickZeeland

То префикс означает, что это шестнадцатиричный число, вы можете сохранить его как целое число.
Чтобы вернуть шестнадцатеричную нотацию вы можете использовать функцию PostgreSQL to_hex().
Более подробную информацию о шестнадцатеричном формате можно найти здесь: Шестнадцатеричный-Википедия[^]
В C# вы можете преобразовать шестнадцатеричное число в целое следующим образом:

Convert.ToInt32("BA", 16)
В PostgreSQL вы можете использовать:
select ('x'||lpad(the_hex_value,16,'0'))::bit(64)::bigint;
Или эта функция:
CREATE OR REPLACE FUNCTION hex_to_int(hexval varchar) RETURNS integer AS $$
DECLARE
    result  int;
BEGIN
    EXECUTE 'SELECT x''' || hexval || '''::int' INTO result;
    RETURN result;
END;
$$ LANGUAGE plpgsql IMMUTABLE STRICT;
видеть: sql-преобразование шестнадцатеричной строки в bigint в postgres-переполнение стека[^]
postgresql-преобразование шестнадцатеричного текстового представления в десятичное число - переполнение стека[^]


peoria123

Спасибо..Да, это в Хекс.Я тоже пробовал использовать inter datatype, но он выдает ошибку datatype.

CPallini

5.