MySQL: запрос, как вычислить значение с разделителем-запятой - PullRequest
0 голосов
/ 20 февраля 2019

Теперь я работаю с SQL и хочу суммировать значения в столбцах populasi и luas.Проблема в том, что структура таблицы для этих столбцов varchar.поэтому я не могу рассчитать его.

Вот таблица:

enter image description here

Кто-нибудь может помочь мне решить это?Все равно спасибо

Ответы [ 2 ]

0 голосов
/ 20 февраля 2019

Вам необходимо удалить . s из числа и заменить , s на . s, и тогда вы сможете SUM их.Попробуйте что-то вроде этого:

SELECT pulau,
       SUM(REPLACE(REPLACE(populasi, '.', ''), ',', '.')) AS populasi, 
       SUM(REPLACE(REPLACE(luas, '.', ''), ',', '.')) AS luas
FROM yourtable
GROUP BY pulau
0 голосов
/ 20 февраля 2019

Используйте replace() и cast() для замены запятой и преобразования ее в десятичную

select pulau, cast(replace(populasi,',','') as decimal(16,8)),  cast(replace(luas,',','') as decimal(16,8))
from tablename
...