数值类型
1)IntX和UIntX
以前我们常用Tinyint、Smallint、Int和Bigint指代整数的不同取值范围。而Clickhouse则直接使用Int8、Int16、Int32、Int64指代4种大小的int类型,其末尾的数字正好表明了占用字节的大小(8位=1字节)。
clickhouse支持无符号的整数,使用前缀U表示。
2)FloatX
3)Decimal
如果要求更高精度的数值运算,则需要使用定点数。ClickHouse提供了Decimal32、Decimal64和Decimal三种精度的定点数。可以通过两种形式声明定点:简写方式有Decimal32(S)、Decimal64(S)、Decimal(S)三种,原生方式为Decimal(P,S),其中:
P代表精度,决定总位数(整数部分+小数部分),取值范围1~38;S代表规模,决定小数位数,取值范围是0~P
字符串类型
字符串类型可以细分为String、FixedString和UUID三类。从命名来看彷佛不像是由一款数据库提供的类型,反而更像是一门编程语言的设计,没错CK语法剧本编程语言的特征(数据+运算)。
1)String
字符串由String定义,长度不限。因此在使用String的时候无须声明大小。它完全替代了传统意义上数据库的varchar、text、Clob和Blob等字符类型。String类型不限定字符集,因为它根本没有这个概念,所以可以将任意编码的字符串存入其中。但是为了程序的规范性和可维护性,在同一套程序中应该遵循使用统一的编码,例如统一使用UTF-8编码就是一种很好的约定。所以在对数据操作的时候我们不再需要去