Какой стандартный тип SQL для двоичных данных? - PullRequest
2 голосов
/ 13 марта 2012

У меня есть функция, которая отображает Java для типов SQL. Поскольку я хочу хранить двоичные данные, существует ли какой-либо тип, определенный стандартом SQL, который я могу использовать как в PostgreSQL, так и в hsqldb?

Ответы [ 3 ]

8 голосов
/ 13 марта 2012

Стандарт SQL 92 не определяет двоичный тип.PostgreSQL имеет тип bytea, hsqldb имеет тип binary.

Для очень портативного (если не эффективного) решения преобразуйте двоичный файл в base64 и сохраните его встрока.

7 голосов
/ 14 марта 2012

BINARY и VARBINARY определяются стандартом SQL. Стандарт в настоящее время в SQL: 2011 (после 92, 1999, 2003 и 2008). HSQLDB поддерживает все основные типы данных, определенные стандартом.

PostgreSQL BYTEA похож на VARBINARY. Вы можете определить тип BYTEA в HSQLDB как тип VARBINARY с большим максимальным размером:

CREATE TYPE BYTEA AS VARBINARY(1000000)
1 голос
/ 03 декабря 2013

SQL поддерживает двоичные типы с 1999 года: [https://mariadb.com/kb/en/sql-data-types/]. У поставщиков уже более десяти лет есть возможность добавить поддержку двоичных типов, и большинство баз данных SQL делают.

...