基础类型
基本类型分为数值、字符串、时间三种,其中数值类型包含Int、Float、Decimal三种,字符串分为String、FixedString、UUID三种,时间分为DateTime、DateTime64、Date三种。
数值
Int
Float
Float分为Float32和Float64两种,Float32单精度,大小4字节,有效精度7位数;Float64双精度,大小8字节,有效精度16位数
Decimal
Decimal分为Decimal32(S)、Decimal64(S)、Decimal128(S)三种
字符串
String
长度不限,无须声明大小,它完全代替了传统意义上数据库的Varchar、Text、Clob和Blob等字符类型。
FixedString
有明确长度,用FixedString(N)声明,其中N表示字符串长度
UUID
UUID共有32位,它的格式为8-4-4-4-12。如果一个UUID类型的字段在写入数据时没有被赋值,则会依照格式使用0填充
时间
DateTime
DateTime类型包含时、分、秒信息,精确到秒,支持使用字符串形式写入:"2022-06-10 13:40:00"
DateTime64
DateTime64可以记录亚秒,它在DateTime之上增加了精度的设置,例如:”2022-06-10 13:40:00.0“
Date
Date类型不包含具体的时间信息,只精确到天,例如:”2022-06-10“
复合类型
复合类型分为数组、元祖、枚举、嵌套四种。
数组
array[T]或者[T],例如array[1,2]和[1,2]都是有两个元素,1、2。一个数组中可以包含多种数据类型,但各类型之间必须兼容
元祖
元组类型由1~n个元素组成,每个元素之间允许设置不同的数据类型,且彼此之间不要求兼容。tuple[T]或者[T]
枚举
枚举固定使用(String:Int)Key/Value键值对的形式定义数据,所以Enum8和Enum16分别会对应(String:Int8)和(String:Int16)。Key和Value是不允许重复的,要保证唯一性。其次,Key和Value的值都不能为Null,但Key允许是空字符串。在写入枚举数据的时候,只会用到Key字符串部分
特殊类型
特殊类型分为Nullable、Domain两种。