And*_*gel 7 sql amazon-redshift
我正在尝试做一些非常基本的事情来计算Redshift中两列之间的百分比。但是,当我使用示例运行查询时,结果只是零,因为未覆盖小数。
码:
select 1701 / 84936;
Run Code Online (Sandbox Code Playgroud)
输出:
我试过了 :
select cast(1701 / 84936 as numeric (10,10));
Run Code Online (Sandbox Code Playgroud)
但结果是0.0000000000。
我该如何解决这个愚蠢的事情?
Luk*_*zda 11
它是整数除法。确保至少一个参数是:(NUMERIC准确的数据类型)/ FLOAT(警告:它是近似的数据类型):
/除法(整数除法截断结果)
select 1701.0 / 84936;
-- or
SELECT 1.0 * 1701 / 84936;
-- or
SELECT CAST(1701 AS NUMERIC(10,4))/84936;
Run Code Online (Sandbox Code Playgroud)