H2Database數據類型

數據類型 html

 

 

 

 

整數(INT)
布爾型(BOOLEAN)
微整數(TINYINT)
小整數(SMALLINT)
大整數(BIGINT)
標識符(IDENTITY)
貨幣數(DECIMAL)

java

雙精度實數(DOUBLE)
實數(REAL)
時間(TIME)
日期(DATE)
時間戳(TIMESTAMP)
二進制(BINARY)
其餘類型(OTHER)

web

可變字符串(VARCHAR)
不區分大小寫可變字符串(VARCHAR_IGNORECASE)
字符(CHAR)
二進制大對象(BLOB)
文本大對象(CLOB)
通用惟一標識符(UUID)
數組(ARRAY)

sql

           



整數(INTINT | INTEGER | MEDIUMINT | INT4 | SIGNED

數據庫

值的範圍爲: -2147483648 到 2147483647.數組

對應到Java類型: java.lang.Integer.安全

例如:

ide

INT函數





布爾型(BOOLEANui

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 } ( precisionInt [ , scaleInt ] )

固定整數位和小數位。這個數據類型常常用於存儲貨幣等類型的值。

對應到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 } [ ( precisionInt ) ]

表示一個字節數組。針對更長的數組,使用 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}  [ ( precisionInt ) ]

Unicode 字符串。使用兩個單引號('') 表示一個引用。最大的長度是Integer.MAX_VALUE,字符串的實際長度是精確指定的,僅實際的數據會被持久化。當使用這種數據類型時,整個文本都會保存在內存中。更多的文本數據,使用 CLOB 更合適。

對應到Java類型: java.lang.String.

例如:

VARCHAR(255)





不區分大小寫的可變字符串(VARCHAR_IGNORECASE

VARCHAR_IGNORECASE [ ( precisionInt ) ]

與 VARCHAR 類型相似,只是在比較時不區分大小寫。存儲時是混合大小寫存儲的。當使用這種數據類型時,整個文本都會保存在內存中。更多的文本數據,使用 CLOB 更合適。

例如:

VARCHAR_IGNORECASE





字符(CHAR

{ CHAR | CHARACTER | NCHAR } [ ( precisionInt ) ]

這個類型支持是針對其餘數據庫或老的應用的兼容性。與VARCHAR 的不一樣是尾空格將被忽略而且不會被持久化。 Unicode 字符串。使用兩個單引號('') 表示一個引用。最大的長度是Integer.MAX_VALUE,字符串的實際長度是精確指定的,僅實際的數據會被持久化。當使用這種數據類型時,整個文本都會保存在內存中。更多的文本數據,使用 CLOB 更合適。

對應到Java類型: java.lang.String.

例如:

CHAR(10)





二進制大對象(BLOB

{ BLOB | TINYBLOB | MEDIUMBLOB | LONGBLOB | IMAGE | OID } [ ( precisionInt ) ]

相似於BINARY,可是針對的是很是大的值如文件或是圖片。跟BINARY不一樣的是,大對象並不徹底保存在內存中。使用 PreparedStatement.setBinaryStream 存儲對象,詳細請參見 CLOB 和 高級 / 大對象。

對應到Java類型: java.sql.Blob (java.io.InputStream 也支持)。

例如:

BLOB





文本大對象(CLOB

{ CLOB | TINYTEXT | TEXT | MEDIUMTEXT | LONGTEXT | NTEXT | NCLOB } [ ( precisionInt ) ]

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



數組(ARRAYARRAY

一組值,可使用值列表 (1, 2) 或 PreparedStatement.setObject(.., new Object[] {..}) 存儲對象。

對應到Java類型: java.lang.Object[] (沒有任何原始類型數組被支持).

例如:

ARRAY

 相關:H2數據庫函數及數據類型概述

相關文章
相關標籤/搜索