将总和转换为浮点数的 Cast 语法

Cast syntax to convert a sum to float

使用 PostgreSQL 9.3,我想将计算值转换为数据类型 float

我的第一次尝试:

SELECT float(SUM(Seconds))/-1323 AS Averag;

给我这个错误:

syntax error at or near "SUM"

我的第二次尝试:

SELECT to_float(SUM(Seconds))/-1323 AS Averag;

给我这个错误:

 function to_float(bigint) does not exist

您需要使用 cast 语法:

SELECT CAST (SUM(Seconds) AS FLOAT)/-1323 AS Averag;

我几乎在任何地方都使用 shorthand 转换语法:

SELECT sum(seconds)<b>::float</b> / -1323 AS averag;

更多详情:

  • Postgres data type cast

这不是精确的转换,而是完成这项工作的一个技巧 :) 并且几乎适用于任何语言。

SELECT SUM(Seconds)/-1323.0 AS Averag;

SELECT SUM(Seconds)*1.0/-1323 AS Averag;