【问题标题】:Vertica currency handeling issue !! how to solveVertica 货币处理问题!!怎么解决
【发布时间】:2012-08-26 15:26:58
【问题描述】:

好的,我正在阅读文档,我已经到了以排序为主题的地步

想象一下: 在美国你有 30[color=#FF0000].[/color]00$ 在巴西你有 30[color=#FF0000],[/color]00 R$

-我该如何解决这个问题!这样数据库就不会解释错了吗?

Vertica 文档 [quote]注意事项 • 尽管ICU 语言环境通常可以指定排序规则、货币和日历首选项,但Vertica 仅支持排序规则组件。 SET DATESTYLE TO ... 命令提供日历的某些方面; [color=#FF0000]货币仅支持美元[/color]。任何与排序无关的关键字都将被拒绝。 [/quote]

【问题讨论】:

  • 解决这个问题的方法是:LC_ALL=pt_BR.UTF-8 启动Vertica。在 vsql 上:dbadmin=> SELECT TO_CHAR(12343148.567890123, 'L999G999G999G999D999999'); TO_CHAR --------------- R$ 12.343.148,567890

标签: database currency collation vertica


【解决方案1】:

我实现货币存储的方式是将金额存储在一个字段中,将货币类型存储在另一个字段中。

如果您只想更改结果中的货币符号,请查看 6.0 SQL Reference Manual.pdf 中的 Template patterns for Numeric Formatting 第 271 页。

这是我在文档中找到“货币”的唯一位置。

【讨论】:

  • 我想我不明白!你能发布一个关于我的问题的数字格式示例吗?!
  • @UP_TWO 我的答案页码错误,它是 270。文档中有关于如何使用格式的示例。
  • 好的,我明白了,但即使我将本地更改为本地(pt_BR),我仍然会得到 DOT“。”而不是逗号",",因为它应该在 pt_BR 中。
    在美国货币中看到的是 12.23 美分,在 BR 中应该是 12,23!!!!!!!
  • @UP_TWO 你能提供你使用的模板模式吗?
  • 选择to_number('12.23','L999D99');
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-04-27
  • 2015-04-07
  • 2021-12-27
  • 1970-01-01
  • 2016-01-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多