H2数据库函数及数据类型概述

简介: H2数据库函数及数据类型概述 一、H2数据库常用数据类型 INT类型:对应java.lang.Integer REAL类型:对应java.lang.Float DOUBLE类型:对应java.

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[]

二、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();

目录
相关文章
|
6天前
|
SQL 关系型数据库 MySQL
MySQL数据库——锁-概述以及全局锁(介绍、语法、特点)
MySQL数据库——锁-概述以及全局锁(介绍、语法、特点)
8 0
|
6天前
|
存储 SQL 关系型数据库
MySQL数据库——存储函数(介绍、案例)
MySQL数据库——存储函数(介绍、案例)
21 0
|
6天前
|
存储 关系型数据库 MySQL
MySQL数据库——索引(1)-概述以及B-Tree结构
MySQL数据库——索引(1)-概述以及B-Tree结构
10 0
|
6天前
|
SQL 存储 关系型数据库
MySQL数据库——基础篇总结(概述、SQL、函数、约束、多表查询、事务)二
MySQL数据库——基础篇总结(概述、SQL、函数、约束、多表查询、事务)二
16 0
|
6天前
|
SQL 关系型数据库 MySQL
MySQL数据库——基础篇总结(概述、SQL、函数、约束、多表查询、事务)一
MySQL数据库——基础篇总结(概述、SQL、函数、约束、多表查询、事务)一
17 5
|
6天前
|
关系型数据库 MySQL 数据库
MySQL数据库——多表查询(1)-多表关系(一对多、多对对多、一对一)、多表查询概述(概念、笛卡尔积、分类)
MySQL数据库——多表查询(1)-多表关系(一对多、多对对多、一对一)、多表查询概述(概念、笛卡尔积、分类)
7 0
|
6天前
|
存储 关系型数据库 MySQL
MySQL数据库——约束(概述、约束演示、外键约束、删除/更新行为)
MySQL数据库——约束(概述、约束演示、外键约束、删除/更新行为)
10 0
|
6天前
|
关系型数据库 MySQL 数据库
MySQL数据库——函数-字符串函数、数值函数、日期函数、流程函数
MySQL数据库——函数-字符串函数、数值函数、日期函数、流程函数
9 2
|
6天前
|
SQL 关系型数据库 MySQL
MySQL数据库——概述-MySQL的安装、启动与停止和客户端连接、关系型数据库(RDBMS)、数据模型
MySQL数据库——概述-MySQL的安装、启动与停止和客户端连接、关系型数据库(RDBMS)、数据模型
22 0
|
7天前
|
SQL 存储 关系型数据库
MySQL数据库案例实战教程:数据类型、语法与高级查询详解
MySQL数据库案例实战教程:数据类型、语法与高级查询详解
27 3