H2數據庫函數及數據類型概述


一、H2數據庫常用數據類型

INT類型:對應java.lang.Integer

REAL類型:對應java.lang.Float

DOUBLE類型:對應java.lang.Double

DECIMAL類型:對應java.math.BigDecimal,比如DECIMAL(20,2)

CHAR類型:對應java.lang.String,比如CHAR(10)

VARCHAR類型:對應java.lang.String

VARCHAR_IGNORECASE類型:對應java.lang.String,忽略大小寫

BOOLEAN類型:對應java.lang.Boolean

TIME類型:對應java.sql.Time,當轉換成java.sql.Date時,日期會設置成1970-01-01

DATE類型:對應java.sql.Date,格式為yyyy-MM-dd,其時間默認為00:00:00

TIMESTAMP類型:對應java.sql.Timestamp,格式為yyyy-MM-dd hh:mm:ss[.nnnnnnnnn],也支持java.util.Date

TINYINT類型:對應java.lang.Byte,-128 to 127

SMARTINT類型:對應java.lang.Short,-32768 to 32767

BIGINT類型:對應java.lang.Long

IDENTITY類型:自增類型,對應java.lang.Long,值范圍-9223372036854775808 to 9223372036854775807

BINARY類型:二進制字節存儲,最大不超過2GB,且完全保存在內存,比如BINARY(1000)

BLOB類型:對應java.sql.Blob,與BINARY相似,但針對很大的數據(如文件或圖像),且不完全保存在內存,使用PreparedStatement.setBinaryStream來保存數據。

CLOB類型:與VARCHAR相似,但適用於保存很大的數據,且數據不完全保存在內存。用於任意尺寸的XML或HTML文檔、文本文件等。使用PreparedStatement.setCharacterStream保存數據。

OTHER類型:對應java.lang.Object,用於存儲序列化的Java對象,使用的是字節數組,客戶端只能做序列化或反序列化,使用getObject反序列化,使用PreparedStatement.setObject存儲數據。

UUID類型:對應java.util.UUID,128位的值,可以使用PreparedStatement.setBytes或setString或setObject(uuid)保存數據,使用ResultSet.getObject取回數據。
ARRAY類型:對應java.lang.Object[]

作者:chszs,轉載需注明。博客主頁:http://blog.csdn.net/chszs

二、H2常用函數

CURRENT_DATE:取當前日期

CURRENT_TIME:取當前時間

CURRENT_TIMESTAMP:取當前日期時間

LOWER:字符串小寫

UPPER:字符串大寫

CONCAT:字符串連結

CHAR:ASCII值轉字符

ASCII:字符轉ASCII值

ENCRYPT:加密函數,支持AES算法,Block尺寸為16字節,

比如CALL ENCRYPT('AES', '00', STRINGTOUTF8('Test'))

DECRYPT:解密函數,支持AES算法,Block尺寸為16字節,

比如CALL TRIM(CHAR(0) FROM UTF8TOSTRING(

DECRYPT('AES', '00', '3fabb4de8f1ee2e97d7793bab2db1116')))

HASH:哈希函數,只支持SHA256算法,比如CALL HASH('SHA256', STRINGTOUTF8('Password'), 1000)

MAX:求最大

MIN:求最小

SUM:求和

CURRENT_USER:返回當前用戶

H2VERSION:返回H2數據庫的版本

DISK_SPACE_USED:返回表使用的磁盤空間尺寸,比如CALL DISK_SPACE_USED('my_table');

DATABASE_PATH:返回數據庫文件的路徑和數據庫名,比如CALL DATABASE_PATH();


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM