我使用的是vertica 7.1版本。想要将列类型从整数更改为布尔值。但无法做到这一点。改变后可以使用类型转换吗?如果是的话怎么样?
testdb=> create table fruits (id int, name varchar(5)); CREATE TABLE testdb=> insert into fruits values (1,'apple'); OUTPUT -------- 1 (1 row) testdb=> insert into fruits values (1,'orang'); OUTPUT -------- 1 (1 row)
testdb=> alter table fruits alter column id set data type boolean; ROLLBACK 2377: Cannot convert column "id" from "int" to type "boolean" testdb=> alter table fruits alter column id set data type boolean id::boolean; ERROR 4856: Syntax error at or near "id" at character 59 LINE 1: ...ble fruits alter column id set data type boolean id::boolea...
答案 0 :(得分:0)
Vertica不支持需要存储重组的数据类型更改。在“管理员指南”中,您可以找到支持的数据类型更改列表:
二进制类型 - 扩展和收缩但无法在BINARY和VARBINARY类型之间进行转换。
字符类型 - 允许所有转换,即使在CHAR和VARCHAR
精确数字类型-INTEGER,INT,BIGINT,TINYINT,INT8,SMALLINT以及scale< = 18和precision 0的所有NUMERIC值都是可互换的。对于NUMERIC数据类型,您不能更改比例,但您可以更改范围(0-18),(19-37)等中的精度。