Решение вашей проблемы
Просто запустите эту функцию
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
Create FUNCTION DecimalWithOutRoundingOff
(
@DecimalInput varchar(50)
)
RETURNS varchar(100) -- or whatever length you need
AS
BEGIN
DECLARE @start INT, @end INT,@num1 varchar(100),@num2 varchar(100)
SELECT @start = 1, @end = CHARINDEX('.', @DecimalInput)
WHILE @start < LEN(@DecimalInput) + 1 BEGIN
IF @end = 0
SET @end = LEN(@DecimalInput) + 1
set @num2 = Substring(SUBSTRING(@DecimalInput, @start, @end - @start),1,6)
set @num1 = substring(@DecimalInput,1,CHARINDEX('.',@DecimalInput)-1)
SET @start = @end + 1
SET @end = CHARINDEX('.', @DecimalInput, @start)
END
return @num1 +'.'+ @num2
END
GO
Для использования:
select dbo.DecimalWithOutRoundingOff(256.25356890)
Результат:
256.253568