更改列数据类型

通常,可以使用 ALTER TABLE 更改列的数据类型(如果这样做不需要重新组织存储)。修改列的数据类型后,加载的数据符合新定义。

以下几个部分介绍与更改列的数据类型相关的要求和限制。

支持的数据类型转换

Vertica 支持转换以下数据类型:

不支持的数据类型转换

Vertica 不允许对需要重新组织存储的类型进行数据类型转换:

  • Boolean

  • 日期/时间

  • 近似数字类型

  • BINARY 到 VARBINARY,反之亦然

如果列属于以下情况之一,也不能更改列的数据类型:

  • 主键

  • 外键

  • 包含在该表的任何投影的 SEGMENTED BY 子句中。

  • 复杂类型列。有一个例外:在外部表中,可以将基元列类型更改为复杂类型。

可以绕过其中一些限制。有关详细信息,请参阅使用列数据转换