У меня есть столбец DECIMAL(9,6)
т.е. это поддерживает значения как 999,123456.
Но когда я вставляю данные как 123,4567, это становится 123,456700
Как удалить те нули?
A decimal(9,6)
хранит 6 цифр справа от запятой. Отображать или нет нули в конце числа - это решение о форматировании, обычно принимаемое на стороне клиента.
Но поскольку SSMS форматирует float
без нулей в конце, вы можете удалить нули в конце, приведя decimal
к float
:
select
cast(123.4567 as DECIMAL(9,6))
, cast(cast(123.4567 as DECIMAL(9,6)) as float)
prints:
123.456700 123,4567
(Мой десятичный разделитель - запятая, но SSMS форматирует десятичную дробь с точкой. Очевидно, это известная проблема.)
.