固定字符串

    您可以使用下面的语法对列声明为类型:

    其中N表示自然数。

    当数据的长度恰好为N个字节时,FixedString类型是高效的。 在其他情况下,这可能会降低效率。

    • 二进制表示的IP地址(IPv6使用FixedString(16)
    • 货币代码(USD, RUB … )

    请使用UUID数据类型来存储UUID值,。

    当向ClickHouse中插入数据时,

    • 如果字符串包含的字节数少于`N’,将对字符串末尾进行空字节填充。

    当做数据查询时,ClickHouse不会删除字符串末尾的空字节。 如果使用WHERE子句,则须要手动添加空字节以匹配FixedString的值。 以下示例阐明了如何将WHERE子句与一起使用。

    查询语句SELECT * FROM FixedStringTable WHERE a = 'b' 不会返回任何结果。请使用空字节来填充筛选条件。

    这种方式与MySQL的CHAR类型的方式不同(MySQL中使用空格填充字符串,并在输出时删除空格)。

    请注意,FixedString(N)的长度是个常量。仅由空字符组成的字符串,函数返回值为N,而函数empty的返回值为。