二进制数据的标准SQL类型是什么?

时间:2012-03-13 16:55:26

标签: sql postgresql hsqldb

我有一个将java映射到SQL类型的函数。 由于我想存储二进制数据,我是否可以在PostgreSQL和hsqldb中使用SQL标准定义的任何类型?

3 个答案:

答案 0 :(得分:8)

SQL 92 standard未定义二进制类型。 PostgreSQL有bytea类型,hsqldb有binary类型。

对于非常便携(如果效率不高)的解决方案,请将二进制文件转换为base64,并将其存储在字符串中。

答案 1 :(得分:7)

BINARY和VARBINARY由SQL标准定义。该标准目前在SQL:2011(92,1999,2003和2008之后)。 HSQLDB支持标准定义的所有核心数据类型。

PostgreSQL BYTEA与VARBINARY类似。您可以将HSQLDB中的BYTEA类型定义为具有较大最大大小的VARBINARY类型:

CREATE TYPE BYTEA AS VARBINARY(1000000)

答案 2 :(得分:1)

自1999年以来,SQL一直支持二进制类型:[https://mariadb.com/kb/en/sql-data-types/]。供应商已经有十多年的时间来增加对二进制类型的支持,而且大多数SQL数据库都支持。