none
Converter varchar(10) para Numeric(5,2) RRS feed

  • Pergunta

  • Galera me da uma moral, estou tentando fazer uma conversão de varchar(10) para Numeric(5,2) todas as formas que tentei deu erro, como faço.

    IF ((@VALIMC IS NULL) AND (@IMC IS NOT NULL))
    SET  @VALIMC = CAST(  @IMC AS Numeric(5,2))

    IF ((@VALIMC IS NULL) AND (@IMC IS NOT NULL))
    SET  @VALIMC = Convert(Numeric(5,2), @IMC)

    '

    Msg 8114, Level 16, State 5, Line 98
    Error converting data type varchar to numeric.

    '

    terça-feira, 5 de abril de 2016 15:43

Respostas

Todas as Respostas

  • Boa tarde Douglas,

    A sua sintaxe parece esta correta sim, porém você precisa analisar o conteudo que esta dentro da variavel e ver se ele pode ser realmente convertido para numeric.

    Pode ser que contenha algum caracter que não seja numero dentro dela,

    Poderia postar o seguinte resultado:

    Aonde voce seta a variavel @IMC e o select @IMC para analisarmos.

    Att

    Reginaldo Silva

    terça-feira, 5 de abril de 2016 15:58
  • 28,96

    

    terça-feira, 5 de abril de 2016 16:01
  • Fiz um replace e funcionou SET @IMC = REPLACE(@IMC,',','.')

    • Marcado como Resposta douglasamfm13 terça-feira, 5 de abril de 2016 16:07
    terça-feira, 5 de abril de 2016 16:02
  • Douglas,

    Isso tem cara de configuração regional da sua maquina.

    Voce pode trocar a essa configuração tbm ao invés de utilizar o replace.

    Att


    terça-feira, 5 de abril de 2016 17:38