S05008

错误代码

S05008

报错信息

Must specify scale for Decimal data type, e.g., DECIMAL32(2). RefId: S05008

错误原因

在使用 DECIMAL 数据类型时,必须指定其 scale(表示小数点后有几位),否则就会报该错误。详见 DolphinDB-数据类型说明中关于 DECIMAL 的描述

下例展示部分错误与正确的操作。
// 创建 decimal 类型的向量
v = array(DECIMAL32)  // Error
v = array(DECIMAL32(2))  // Ok

// 创建 decimal 类型的数组向量
v = array(DECIMAL32[]) // Error
v = array(DECIMAL32(2)[])  // Ok

// 创建包含 decimal 列的表
t = table(100:0, `c1`c2, [INT, DECIMAL64])  // Error
t = table(100:0, `c1`c2, [INT, DECIMAL64(5)])  // Ok

解决办法

创建 DECIMAL 数据类型时必须指定其 scale