如何从查询中的值中删除点

时间:2017-09-03 22:58:55

标签: sql mysqli amazon-redshift

我的查询效果很好。所有数值都具有数字格式(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,因为我计算了百分比,因此无法进行舍入。

谢谢!

0 个答案:

没有答案