Sumas devuelven String, solo con postgresql
Estoy migrando una base de datos de mysql a postgres. La migración en sí estuvo bien, siguiendo la documentación de postgres.
En este momento, estoy arreglando nuestras consultas específicas de MySQL.
En algún punto, ahora tenemos algo como esto:
select(%(
SUM(CASE WHEN income THEN value ELSE 0 END) AS rents,
SUM(CASE WHEN not income THEN value ELSE 0 END) AS expenses
))
En mysql, era unsum(if(incomes, value, 0))
etc, y estaba funcionando como se esperaba.
Con PG, devuelve una cadena en lugar de un número.
Ya revisé la base de datos y el tipo de datos es correcto.
¿Qué puedo hacer, además de echarto_d
oto_f
?
EDITAR: la consulta completa:
SELECT
SUM(CASE WHEN income THEN value ELSE 0 END) AS rents,
SUM(CASE WHEN not income THEN value ELSE 0 END) AS expenses
FROM "transactions"
WHERE "transactions"."type" IN ('Transaction')
AND "transactions"."user_id" = 1
AND "transactions"."paid" = 't'
AND (transactions.date between '2013-09-01' and '2013-09-30')
LIMIT 1