none
Converter campo RRS feed

  • Pergunta

  • Bom dia,

    Caros tenho um campo na minha tabela do tipo nvarchar...gostaria de converte-lo para numeric...já tentei a instrução convert e aparece a seguinte msg: Error converting data type nvarchar to numeric alguem sabe uma outra maneira de converter esse isso?



    grato,


    Att,
    Tiodimi
    segunda-feira, 6 de outubro de 2008 15:09

Respostas

  • Com certeza.... faça um REPLACE antes de fazer o CONVERT

    Tipo assim;

     

    Certo:

    SELECT CAST(REPLACE('1,02',',','.') AS NUMERIC(12,4))

    1.0200

    (1 linha(s) afetadas)

     

    Erro:

    SELECT CAST(CAST('1,02' AS NVARCHAR) AS NUMERIC(12,4))

    Mensagem 8114, Nível 16, Estado 5, Linha 1

    Error converting data type nvarchar to numeric.

     

     

     

    segunda-feira, 6 de outubro de 2008 15:51

Todas as Respostas

  • Tiodimi,

    Se esta coluna tiver algum caractere invalido para a conversão para numeric...vai gerar esse erro!

     

    Exemplo:

     

    SELECT CAST(CAST('leivio' AS NVARCHAR) AS NUMERIC(12,4))

    resultado

    ---------------------------------------

    Mensagem 8114, Nível 16, Estado 5, Linha 1

    Error converting data type nvarchar to numeric.

     

    SELECT CAST(CAST(1.0101 AS NVARCHAR) AS NUMERIC(12,4))

    resultado

    ---------------------------------------

    1.0101

    (1 linha(s) afetadas)

     

    Veja se o tipo de dado na sua coluna tem algum tipo invalido!

     

    segunda-feira, 6 de outubro de 2008 15:32
  • Seguinte...apareceu o erro Error converting data type nvarchar to numeric. porém esse valores abaixo é o q eu tenho dentro da coluna....será por causa da "," ?.....

    ,17
    10,04
    10,1
    10,45
    10,52
    10,77
    11,26
    11,46
    11,6
    11,62


    grato!

    Att,
    Tiodimi
    segunda-feira, 6 de outubro de 2008 15:43
  • Com certeza.... faça um REPLACE antes de fazer o CONVERT

    Tipo assim;

     

    Certo:

    SELECT CAST(REPLACE('1,02',',','.') AS NUMERIC(12,4))

    1.0200

    (1 linha(s) afetadas)

     

    Erro:

    SELECT CAST(CAST('1,02' AS NVARCHAR) AS NUMERIC(12,4))

    Mensagem 8114, Nível 16, Estado 5, Linha 1

    Error converting data type nvarchar to numeric.

     

     

     

    segunda-feira, 6 de outubro de 2008 15:51