Подтвердить что ты не робот

Синтаксис Cast для преобразования суммы в 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
4b9b3361

Ответ 1

Вам нужно использовать синтаксис cast:

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

Ответ 2

Существует также синтаксис коротких цитат:

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

Ответ 3

Это не точный кастинг, а трюк, чтобы сделать работу:) и работает практически на любом языке.

SELECT SUM (Секунды)/- 1323.0 AS Averag;

ИЛИ

SELECT SUM (Секунды) * 1.0/-1323 AS Averag;