Преобразование INT в FLOAT в SQL

У меня есть этот запрос:

   SELECT sl.sms_prefix, sum( sl.parts ) , cp.country_name, CAST(SUM(sl.parts) AS NUMERIC(10,4)) * CAST(cp.price AS NUMERIC(10,4))
FROM sms_log sl, sms_transaction st, country_prefix cp
WHERE st.customer_id =1
AND st.sendtime >=1329865200
AND st.sendtime <=1330037999
AND st.sms_trans_id = sl.trans_id
AND sl.sms_prefix = cp.prefix
AND st.customer_id = cp.customer_id
GROUP BY sl.sms_prefix
LIMIT 0 , 30

Результат:

sms_prefix  sum( sl.parts )     country_name    price   total
==================================================================================
45            2                        Denmark   0.01   0.019999999552965
63            3                        Philippines   2  6

Как вы видите, «всего» неверно для Дания поскольку sum (sl.parts) = 2 Умножьте на 0,01 , итоговое значение должно быть 0,02 .

Поле цены FLOAT как я могу преобразовать итоговую сумму в плавающую?

С уважением,

23
задан alkhader 23 February 2012 в 11:29
поделиться