使用 PrestoSQL 进行 32 位或 64 位浮点除法

Rom*_*rés 5 sql numbers presto trino

在 Presto SQL 中,SELECT 1 / 3返回0,因为/执行整数除法。

SELECT 1.0 / 3返回0.3...我怎样才能得到0.3333333333?(即,更具体地说,32 位或 64 位精度而不是第一个小数截断?)

GMB*_*GMB 5

你可以cast()在划分之前。

要获得 64 位精度:

select cast(1 as double) / 3
Run Code Online (Sandbox Code Playgroud)

要获得 32 位精度:

select cast(1 as real) / 3
Run Code Online (Sandbox Code Playgroud)