Сумма валюты с десятичными знаками [MYSQL] - PullRequest
0 голосов
/ 29 декабря 2018

Я пытаюсь сложить такие числа как:

42,764.23
63,739.84

Простой выбор суммы

SELECT sum(currency) as result from currency_table

Сумма составляет 105, но она должна быть 106,504.07

Если я добавлю что-то вроде этого:

SELECT CONCAT('', FORMAT(sum(currency),2)) as result from currency_table

Сумма составит 105.00

Есть ли способ получить правильный результат 106,504.07?

1 Ответ

0 голосов
/ 29 декабря 2018

Похоже, тип данных для currency является строковым типом, а запятая в нем сбивает с толку движок при попытке выполнить неявное приведение.Попробуйте удалить его.

SELECT sum(replace(currency, ',', '')) result
       FROM currency_table;

Но вы действительно должны пересмотреть свой дизайн и использовать соответствующий числовой тип для этого столбца.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...