• desc (15.12.08 08:54) [0]
    Создал функцию, перевода типа одного в другой но при переводе в тип
    nvarchar

    происходит округление. Как быть ? Необходимо перевисти значение один к одному (без всеких округлений обрезаний и т.д.) только в
    nvarchar

    ...

    ALTER FUNCTION [dbo].[fnFloatToStr](@Flt float)
    RETURNS nvarchar(64)
    AS
    BEGIN
     RETURN CAST(@Flt AS nvarchar(64));
    END



    SELECT [dbo].[fnFloatToStr](245555.9534) fn


    получаем: 245556
  • desc (15.12.08 08:55) [1]
    да...

    ms sql server 2005
  • Вариант (15.12.08 10:22) [2]
    Как вариант можно
    -------------------------------
    declare @Flt float;
    set @Flt=245555.9534666;
    --------------------------------------

    --CAST

    select CAST( cast(@Flt as numeric(38,10)) AS nvarchar(64));

    или еще проще и короче

    --STR

    select STR(@Flt,38,10);
Есть новые Нет новых   [134447   +40][b:0][p:0.001]