【问题标题】:Clickhouse, create dictionary with decimal typeClickhouse,创建十进制类型的字典
【发布时间】:2021-03-15 05:38:20
【问题描述】:

我尝试创建一个 clickhouse 字典:

CREATE DICTIONARY rnd.exchange_rate_history (
    code String,
    date Date,
    rate Decimal(20, 6)
)
PRIMARY KEY code, date...

但我得到一个错误:

未知类型 Decimal(20, 6)(版本 20.6.3.28(官方构建))

我应该怎么做才能创建具有这种结构的字典?

【问题讨论】:

  • 您是否使用 UInt64 而不是 Decimal(20,6)?
  • 是的,我试过了。它有效!
  • 那不适合你吗?
  • UInt64 可用于字典。
  • 十进制类型有 2 个符号 Decimal(20, 6) == Decimal32(6)。有人错过了在字典中实现第一个。

标签: sql clickhouse


【解决方案1】:

尽量使用固定精度的类型,比如Decimal32

CREATE DICTIONARY test.test_dict_01
(
    `code` String,
    `date` Date,
    `rate` Decimal32(6)
)
PRIMARY KEY code, date
SOURCE(FILE(PATH 'opt/dicts/test.csv'))
LIFETIME(MIN 0 MAX 300)
LAYOUT(COMPLEX_KEY_HASHED())

它看起来像一个错误,你能在https://github.com/ClickHouse/ClickHouse/issues 中创建问题吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-08
    • 1970-01-01
    • 2022-06-22
    • 2020-09-14
    相关资源
    最近更新 更多