【发布时间】:2012-09-11 15:26:12
【问题描述】:
Vertica 是否支持虚拟列? 我阅读了文档,但找不到!
使用: 我有一张桌子:
create table test(
id number,
name varchar(12),
account data_type as function_name
);
- 由于 Vertica 不支持美国以外其他国家/地区的货币格式,因此在填充包含货币列的表时,我正在寻找解决此问题的方法。
- 我将在 C++ 中创建一个特殊的格式函数,然后应用于列定义。
这可能吗?
【问题讨论】:
-
如果手册中没有提到虚拟列,很可能它们不受支持。你到底想达到什么目的?格式化价格应该在前端完成,只需将值和货币存储在您的表格中。
-
巴西的货币格式是“,”分组逗号和“.”小数点。而在美国则相反。因此,来自其他 RDBMS 的任何货币都必须在加载时进行转换,在列上应用货币区域设置(vertica 不支持),或者创建一个外部用户定义的函数,该函数将在加载时使用或在数据时在数据库内部使用si 更改或插入!!!
-
数字列没有有格式。仅当您实际显示值时,才“定义”格式。因此,如果您只是使用
numeric(或 Vertica 中的任何等价物),您应该没有问题 - 只需在您的应用程序中进行格式化。您不需要任何特殊的数据类型。此外:SQL 标准仅定义数字文字应如何“格式化”:使用.表示小数,仅此而已。
标签: database currency create-table vertica