【问题标题】:Does vertica supports changing type from int to boolean?vertica 是否支持将类型从 int 更改为 boolean?
【发布时间】:2016-02-10 08:48:43
【问题描述】:

我使用的是 vertica 7.1 版本。想要将列类型从整数更改为布尔值。但做不到。是否可以在 alter 进行类型转换?如果是怎么办?

testdb=> create table fruits (id int, name varchar(5)); 创建表 testdb=> 插入水果值 (1,'apple'); 输出 -------- 1 (1 行) testdb=> 插入水果值 (1,'orang'); 输出 -------- 1 (1 行) testdb=> alter table fruits alter column id set data type boolean; ROLLBACK 2377:无法将列“id”从“int”转换为类型“boolean” testdb=> alter table fruits alter column id set data type boolean id::boolean; 错误 4856:字符 59 处或附近的“id”处的语法错误 第 1 行:...ble fruits 更改列 id 集数据类型 boolean id::boolea...

【问题讨论】:

  • 为什么不直接使用布尔类型进行插入?
  • 当查询被触发与其他相同类型的表连接时,在这种情况下,其中一个表具有列 int 类型而另一个具有列布尔类型,导致查询失败。这就是我想更改列类型的原因。

标签: vertica


【解决方案1】:

Vertica 不支持需要重新组织存储的数据类型更改。在管理员指南中,您可以找到支持的数据类型更改列表:

  • 二进制类型 - 扩展和收缩,但不能在 BINARY 和 VARBINARY 类型之间转换。

  • 字符类型 - 允许所有转换,甚至在 CHAR 和 VARCHAR 之间

  • 精确的数字类型 - INTEGER、INT、BIGINT、TINYINT、INT8、SMALLINT 以及所有 NUMERIC 值

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2023-04-04
  • 1970-01-01
  • 1970-01-01
  • 2021-10-08
  • 2013-12-19
  • 1970-01-01
  • 1970-01-01
  • 2014-09-30
相关资源
最近更新 更多