none
Colocar decimal em numero sem decimal RRS feed

  • Pergunta

  •  Olá

    Estou com uma coluna com valores inteiros, gostaria de transformar esse numeros em decimal, ex:

    Transformar 18859324568

    em

    18,859324568


    Obs: Tamanho do campo: 11,8



    Maurício
    quinta-feira, 19 de fevereiro de 2009 20:04

Respostas

  • use

    campo é varchar, com convert ou cast funciona!!!

    select convert(numeric(11,2),peso)/100000000 from domicilios_mg1

    select cast((peso) as numeric(11,2))/100000000, peso from domicilios_mg1

    sem problemas elas tem funcoes similares.

    Abs;


    mcolla@bol.com.br
    • Marcado como Resposta maumauboy sexta-feira, 20 de fevereiro de 2009 17:49
    sexta-feira, 20 de fevereiro de 2009 17:26
  • Ok Marcelo


    Muito Obrigado!!!


    Maurício
    • Marcado como Resposta maumauboy sexta-feira, 20 de fevereiro de 2009 17:46
    sexta-feira, 20 de fevereiro de 2009 17:46

Todas as Respostas

  • Dependendo dos outros valores (todos tem 9 casasa apos a virgula como o exemplo acima?)

    se sim basta fazer 18859324568 / 1000000000


    Att.
    Marcelo Fernandes
    quinta-feira, 19 de fevereiro de 2009 20:20
  • tem que converter para decimal antes da divisao se o campo original nao tiver valores pois o sql vai arrendondar.

    convert(numeric(19,2),seu_campo)/100000 -- veja so qual a precisao vc. precisa.


    Abs;
    mcolla@bol.com.br
    sexta-feira, 20 de fevereiro de 2009 10:33
  • Olá Marcelo


    O campo é varchar, com convert ou cast funciona!!!

    select convert(numeric(11),peso)/100000000 from domicilios_mg1

    select cast((peso) as numeric(11))/100000000, peso from domicilios_mg1

    Voce sabe me dizer qual a diferença do Cast e do Convert?

    Muito Obrigado.



    Maurício

    • Marcado como Resposta maumauboy sexta-feira, 20 de fevereiro de 2009 16:16
    • Não Marcado como Resposta maumauboy sexta-feira, 20 de fevereiro de 2009 16:35
    • Marcado como Resposta maumauboy sexta-feira, 20 de fevereiro de 2009 16:35
    • Não Marcado como Resposta maumauboy sexta-feira, 20 de fevereiro de 2009 16:38
    • Marcado como Resposta maumauboy sexta-feira, 20 de fevereiro de 2009 16:38
    • Não Marcado como Resposta maumauboy sexta-feira, 20 de fevereiro de 2009 16:38
    sexta-feira, 20 de fevereiro de 2009 16:16
  • use

    campo é varchar, com convert ou cast funciona!!!

    select convert(numeric(11,2),peso)/100000000 from domicilios_mg1

    select cast((peso) as numeric(11,2))/100000000, peso from domicilios_mg1

    sem problemas elas tem funcoes similares.

    Abs;


    mcolla@bol.com.br
    • Marcado como Resposta maumauboy sexta-feira, 20 de fevereiro de 2009 17:49
    sexta-feira, 20 de fevereiro de 2009 17:26
  • Ok Marcelo


    Muito Obrigado!!!


    Maurício
    • Marcado como Resposta maumauboy sexta-feira, 20 de fevereiro de 2009 17:46
    sexta-feira, 20 de fevereiro de 2009 17:46
  •  Maumauboy,

    Converter de varchar para float deverá funcionar.

    Ambas são funções para conversão de valores!!!

    A principio eu não vejo diferenças, a não na síntaxe.
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    sexta-feira, 20 de fevereiro de 2009 18:29