跳至主要内容

域是特殊用途的类型,在现有基本类型的基础上添加了一些额外的功能,但保持了底层数据类型的网络传输和磁盘存储格式不变。目前,ClickHouse 不支持用户自定义域。

您可以在任何可以使用相应基本类型的地方使用域,例如

  • 创建域类型列
  • 读取/写入域列的值
  • 如果基本类型可以用作索引,则将其用作索引
  • 使用域列的值调用函数

域的额外功能

  • SHOW CREATE TABLEDESCRIBE TABLE中显式列出列类型名称
  • 使用INSERT INTO domain_table(domain_column) VALUES(...)从用户友好格式输入
  • SELECT domain_column FROM domain_table输出用户友好格式
  • 从外部源加载用户友好格式的数据:INSERT INTO domain_table FORMAT CSV ...

限制

  • 无法通过ALTER TABLE将基本类型的索引列转换为域类型。
  • 从其他列或表插入数据时,无法隐式将字符串值转换为域值。
  • 域不会对存储的值添加任何约束。