db h2 数据类型_H2Database数据类型

标签:

整数(INT)INT | INTEGER | MEDIUMINT | INT4 | SIGNED

值的范围为: -2147483648 到 2147483647.

对应到Java类型: java.lang.Integer.

例如:

INT

布尔型(BOOLEAN)

BOOLEAN

| BIT | BOOL

可能的值为: TRUE 和 FALSE。

对应到Java类型: java.lang.Boolean.

例如:

BOOLEAN

微整数(TINYINT)

TINYINT

值的范围为: -128 到 127.

对应到Java类型: java.lang.Byte.

例如:

TINYINT

小整数(SMALLINT)

SMALLINT

| INT2 | YEAR

值的范围为: -32768 到 32767.

对应到Java类型: java.lang.Short.

例如:

SMALLINT

大整数(BIGINT)

BIGINT

| INT8

值的范围为: -9223372036854775808 到 9223372036854775807.

对应到Java类型:

java.lang.Long.

例如:

BIGINT

标识符(IDENTITY)

IDENTITY

自增值,值的范围为: -9223372036854775808 到 9223372036854775807。使用的值不能再重用,即使事务回滚。

对应到Java类型: java.lang.Long.

例如:

IDENTITY

货币数(DECIMAL)

{

DECIMAL | NUMBER | DEC | NUMERIC } (

固定整数位和小数位。这个数据类型经常用于存储货币等类型的值。

对应到Java类型: java.math.BigDecimal.

例如:

DECIMAL(20,

2)

双精度实数(DOUBLE)

{

DOUBLE [ PRECISION ] | FLOAT | FLOAT4 | FLOAT8 }

浮点数。不能应用到表示货币等值,因为有四舍五入的问题。

对应到Java类型: java.lang.Double.

例如:

DOUBLE

实数(REAL)

REAL

单精度浮点数。不能应用到表示货币等值,因为有四舍五入的问题。

对应到Java类型: java.lang.Float.

例如:

REAL

时间(TIME)

TIME

格式为 hh:mm:ss.

对应到Java类型:java.sql.Time.

例如:

TIME

日期(DATE)

DATE

格式为 yyyy-MM-dd.

对应到Java类型: java.sql.Date

例如:

DATE

时间戳(TIMESTAMP)

{

TIMESTAMP | DATETIME | SMALLDATETIME }

格式为 yyyy-MM-dd hh:mm:ss[.nnnnnnnnn].

对应到Java类型: java.sql.Timestamp

(java.util.Date 也支持).

例如:

TIMESTAMP

二进制(BINARY)

{

BINARY | VARBINARY | LONGVARBINARY | RAW | BYTEA } [ (

表示一个字节数组。针对更长的数组,使用 BLOB 类型。最大的尺寸为 2 GB,当使用这种数据类型时,整个对象都会保存在内存中,在内存中的尺寸是一个精确的指定值,只有实际的数据会被持久化。对于大的文本数据,还是使用 BLOB 和 CLOB 更合适。

对应到Java类型: byte[].

例如:

BINARY(1000)

其他类型(OTHER)

OTHER

这个类型允许存储可序列化的JAVA对象。在内部,使用的是一个字节数组。序列化和反序列化只在客户端端完成。反序列化仅在 getObject 被调用时才被调用。JAVA操作因为安全的原因并不能在数据库引擎内被执行。可以使用 PreparedStatement.setObject 存储对象。

对应到Java类型: java.lang.Object (或者是任何子类).

例如:

OTHER

可变字符串(VARCHAR)

{

VARCHAR | LONGVARCHAR | VARCHAR2 | NVARCHAR

| NVARCHAR2 | VARCHAR_CASESENSITIVE}  [ (

Unicode

字符串。使用两个单引号(‘‘)

表示一个引用。最大的长度是Integer.MAX_VALUE,字符串的实际长度是精确指定的,仅实际的数据会被持久化。当使用这种数据类型时,整个文本都会保存在内存中。更多的文本数据,使用 CLOB 更合适。

对应到Java类型: java.lang.String.

例如:

VARCHAR(255)

不区分大小写的可变字符串(VARCHAR_IGNORECASE)

VARCHAR_IGNORECASE

[ (

与 VARCHAR 类型类似,只是在比较时不区分大小写。存储时是混合大小写存储的。当使用这种数据类型时,整个文本都会保存在内存中。更多的文本数据,使用 CLOB 更合适。

例如:

VARCHAR_IGNORECASE

字符(CHAR)

{

CHAR | CHARACTER | NCHAR } [ (

这个类型支持是针对其他数据库或老的应用的兼容性。与VARCHAR 的不同是尾空格将被忽略并且不会被持久化。 Unicode 字符串。使用两个单引号(‘‘) 表示一个引用。最大的长度是Integer.MAX_VALUE,字符串的实际长度是精确指定的,仅实际的数据会被持久化。当使用这种数据类型时,整个文本都会保存在内存中。更多的文本数据,使用 CLOB 更合适。

对应到Java类型: java.lang.String.

例如:

CHAR(10)

二进制大对象(BLOB)

{

BLOB | TINYBLOB | MEDIUMBLOB | LONGBLOB | IMAGE | OID } [ (

类似于BINARY,但是针对的是非常大的值如文件或是图片。跟BINARY不同的是,大对象并不完全保存在内存中。使用

PreparedStatement.setBinaryStream 存储对象,详细请参见 CLOB 和 高级 / 大对象。

对应到Java类型: java.sql.Blob

(java.io.InputStream 也支持)。

例如:

BLOB

文本大对象(CLOB)

{

CLOB | TINYTEXT | TEXT | MEDIUMTEXT | LONGTEXT | NTEXT | NCLOB } [ (

CLOB类似于 VARCHAR,但是针对的是非常大的值。与 VARCHAR不同的是,CLOB 对象并不完全保存在内存中,而是使用的流。CLOB 可以用于文档或文本,如果XML、HTML文档,文本文件、未限制尺寸的备忘录等。使用 PreparedStatement.setCharacterStream 存储对象。详细请参见

高级 / 大对象。

VARCHAR

用于相对较小的文本(如200个字符以内)。小的 CLOB 值被就地存储,但是也比 VARCHAR 要大。

对应到Java类型: java.sql.Clob (java.io.Reader 也支持).

例如:

CLOB

通用唯一标识符(UUID)

UUID

UUID(Universally unique identifier),是一个128BIT的值,使用 PreparedStatement.setBytes 或 setString 去存储值。

对应到Java类型: java.util.UUID.

例如:

UUID

数组(ARRAY)ARRAY

一组值,可以使用值列表 (1, 2) 或 PreparedStatement.setObject(..,

new Object[] {..}) 存储对象。

对应到Java类型: java.lang.Object[] (没有任何原始类型数组被支持).

例如:

ARRAY

标签:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值