我的查询效果很好。所有数值都具有数字格式(18,8)。我使用ETL从此查询加载数据,但它不起作用。原因是某些值显示为' 0.60666666'。错误代码为1207.无效数字,值'。',Pos 4,类型:整数。那些有"。"按比例计算。首先,我将子查询中的百分比计算为:
SELECT(t1.num::NUMERIC(18,8)/t1.den::NUMERIC(18,8))::NUMERIC(18,8) as percentage
这是我看到那些"。"的时刻。第一次参与价值观。
然后我将这个百分比乘以体积:
(t2.palletized_percentage::NUMERIC(18,8)*v.vol::NUMERIC(18,8))::NUMERIC(18,8) as volume
我加载它的表格格式为:
CREATE TABLE table.volume
(
time_period DATE ENCODE zstd,
region VARCHAR(90) ENCODE zstd,
volume NUMERIC(25, 8) ENCODE zstd
)
DISTSTYLE EVEN
SORTKEY
(
time_period
);
如何删除这些"。"不要让我加载桌子?无法使用CAST,因为我计算了百分比,因此无法进行舍入。
谢谢!