Удалить завершающие нули из десятичного числа в SQL Server - PullRequest
72 голосов
/ 30 мая 2010

У меня есть столбец DECIMAL(9,6), т.е. он поддерживает такие значения, как 999,123456.

Но когда я вставляю данные вроде 123,4567, они становятся 123,456700

Как убрать эти нули?

Ответы [ 22 ]

0 голосов
/ 18 декабря 2013

Попробуйте это:

SELECT REPLACE(TRIM(REPLACE(20.5500, "0", " ")), " ", "0")

Дает 20,55

0 голосов
/ 14 октября 2013
case when left(replace(ltrim(rtrim(replace(str(XXX, 38, 10), '0',  ' '))), ' ', '0'), 1) = '.'
then '0' 
else ''
end +

replace(ltrim(rtrim(replace(str(XXX, 38, 10), '0',  ' '))), ' ', '0') +

case when right(replace(ltrim(rtrim(replace(str(XXX, 38, 10), '0',  ' '))), ' ', '0'), 1) = '.'
then '0' 
else ''
end
...