Сумма округления десятичных знаков 2 - PullRequest
0 голосов
/ 28 февраля 2019

У меня есть таблица EMP, которая соединена с другой таблицей.В запросе я использовал, чтобы получить сумму SAL, как это.Я хочу, чтобы эта сумма была округлена до 2 знаков после запятой, но она дает 4 знака после запятой.SAL объявлено как CHAR(9) в EMP таблице.

COALESCE(CAST(SUM(CAST(SAL AS INT))/12 AS DECIMAL(13,2)), 0) as "SUM-SAL"

Вывод отображается как 29364852.000000, но я хочу, чтобы это было округлено до десятичных разрядов с разделенной запятой.

Ответы [ 3 ]

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

Я думаю, это то, что вы ищете.

DECLARE @test char(9) = '29364852.00'
SELECT Format(cast(@test as decimal(10, 2)), '##,##.#0') 

Результат: 29 364 852,00

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

Вы можете попробовать следующий запрос.

DECLARE @test DECIMAL(18,6) = 123.456789
Select cast(@test as decimal(10, 2))

или

DECLARE @test char(10) = '123.456789'
Select cast(@test as decimal(10, 2))

Live Demo

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

Вы можете попробовать, как показано ниже, используя format

пример

 DECLARE @test DECIMAL(18,6) = 123.456789
    SELECT FORMAT(@test, '##.##')
...