试图理解这种行为
CREATE TABLE tab (x DECIMAL(10,0), y DECIMAL(10,0))
INSERT INTO tab VALUES(1, 3)
select x / y from tab
将根据Redshift docs中的规则将 0.3333.... 返回到小数点后 11 位。
我不明白的是:如果我除以转换为相同类型的文字(x / 3::decimal(10,0)
),我得到精确的 4 位小数(0.3333
)
除了首先将商写入表格或更糟糕的情况下,如何使用float
?