В идеале вы хотите сделать это в коде переднего конца
, так как вы будете различать 0.37
и 37.0
, если все, что вам нужно, это 37
?
Вотв SQL
заменить 0 пробелом и выполнить обрезку, а затем заменить пробел обратно на 0
пример
edit: пропущена конечная точка перед ... добавлена какcase case
DECLARE @d DECIMAL(8,5)
select @d = 5.12030
SELECT CASE WHEN RIGHT(REPLACE(RTRIM(LTRIM(REPLACE(CONVERT(VARCHAR(100),@d),'0',' '))),' ','0'),1) = '.'
THEN REPLACE(REPLACE(RTRIM(LTRIM(REPLACE(CONVERT(VARCHAR(100),@d),'0',' '))),' ','0'),'.','')
ELSE
REPLACE(RTRIM(LTRIM(REPLACE(CONVERT(VARCHAR(100),@d),'0',' '))),' ','0') END