VARCHAR to DECIMAL

前端 未结 12 653
清歌不尽
清歌不尽 2020-12-06 09:24

I want to convert a varchar(max) column to decimal(10,4).

When I try to use cast or convert I am getting an arit

12条回答
  •  遥遥无期
    2020-12-06 09:53

    create function [Sistema].[fParseDecimal]
    (
        @Valor nvarchar(4000)
    )
    returns decimal(18, 4) as begin
        declare @Valores table (Valor varchar(50));
    
        insert into @Valores values (@Valor);
    
        declare @Resultado decimal(18, 4) = (select top 1 
            cast('' as xml).value('sql:column("Valor") cast as xs:decimal ?', 'decimal(18, 4)')
        from @Valores);
        
        return @Resultado;
    END
    

提交回复
热议问题