数据类型强制转换表
转换类型
下表定义了 Vertica 支持的所有可能的类型转换。该表第一列的数据类型是待转换的输入内容,第二个标题行所列的数据类型是结果赋值。
隐式和显式转换
Vertica 支持无显式转换的值的数据类型转换,例如 NUMERIC(10,6) -> NUMERIC(18,4)
。将类型不同但相互兼容的值转换为目标列的数据类型时,进行隐式数据类型转换。例如,在添加值 (INTEGER + NUMERIC
) 时,结果被隐式转换为 NUMERIC
类型以适应语句中的重要类型。根据输入数据的类型,可能会出现不同的精度和小数位数。
当源数据无法隐式转换为目标列的数据类型时,才可进行显式类型转换。
赋值转换
在数据赋值转换中,当赋值到 INSERT
或 UPDATE...SET
语句中的数据库列时,进行隐式强制转换。例如,在包括 INSERT...VALUES('2.5')
的语句中,目标列数据类型是 NUMERIC(18,5)
,可推知从 VARCHAR
到列数据类型的转换。
在无数字意义的赋值中,该值需进行 CHAR/VARCHAR/LONG VARCHAR 的比较。