none
Como manter a formatação do numero ? RRS feed

  • Pergunta

  • Tenho um monte de dados que ele 1234,99999999999 aí quando ele extrai os dados ele perde onde deve estar a vigula ou ponto decimal. Como eu faço para trazer o numero com as casas decimas em SQL? 
    quarta-feira, 7 de abril de 2021 19:50

Todas as Respostas

  • Thiago,

         Coloquei três ideias aqui... espero que te ajude.

         1 - Tem o FORMAT... o culture aponta para o país correto.

    ======================================================
    FORMAT (Transact-SQL)

    FORMAT( value, format [, culture ] )  

    SELECT TOP(5) CurrencyRateID, EndOfDayRate  
                ,FORMAT(EndOfDayRate, 'N', 'en-us') AS 'Number Format'  
                ,FORMAT(EndOfDayRate, 'G', 'en-us') AS 'General Format'  
                ,FORMAT(EndOfDayRate, 'C', 'en-us') AS 'Currency Format'  
    FROM Sales.CurrencyRate  
    ORDER BY CurrencyRateID;  

    https://docs.microsoft.com/pt-br/sql/t-sql/functions/format-transact-sql?view=sql-server-ver15
    ======================================================

         2 - Você pode usar a função Replace e Cast...

    ======================================================
    Resultado do SQL com vírgulas e não pontos

    replace(cast([Campo] as varchar),',','.')

    https://social.msdn.microsoft.com/Forums/sqlserver/pt-BR/37f12f05-7209-4839-a2ff-0e20d4215d3f/resultado-do-sql-com-vrgulas-e-no-pontos
    ======================================================

         3 - Ou aplicar a Função "Round()"?

    ======================================================
    ROUND (Transact-SQL)
    14/12/2017 - 2 minutos para o fim da leitura

    SELECT ROUND(123.9994, 3), ROUND(123.9995, 3);  
    GO  

    https://docs.microsoft.com/pt-br/sql/t-sql/functions/round-transact-sql?view=sql-server-ver15

    ======================================================
    SQL Server ROUND() Function

    SELECT ROUND(235.415, 2) AS RoundValue;

    https://www.w3schools.com/SQL/func_sqlserver_round.asp
    ======================================================

    []'s,
    Fabio I.
    quinta-feira, 8 de abril de 2021 00:19
  • Thiago,

         Coloquei três ideias aqui... espero que te ajude.

         1 - Tem o FORMAT... o culture aponta para o país correto.

    ======================================================
    FORMAT (Transact-SQL)

    FORMAT( value, format [, culture ] )  

    SELECT TOP(5) CurrencyRateID, EndOfDayRate  
                ,FORMAT(EndOfDayRate, 'N', 'en-us') AS 'Number Format'  
                ,FORMAT(EndOfDayRate, 'G', 'en-us') AS 'General Format'  
                ,FORMAT(EndOfDayRate, 'C', 'en-us') AS 'Currency Format'  
    FROM Sales.CurrencyRate  
    ORDER BY CurrencyRateID;  

    https://docs.microsoft.com/pt-br/sql/t-sql/functions/format-transact-sql?view=sql-server-ver15
    ======================================================

         2 - Você pode usar a função Replace e Cast...

    ======================================================
    Resultado do SQL com vírgulas e não pontos

    replace(cast([Campo] as varchar),',','.')

    https://social.msdn.microsoft.com/Forums/sqlserver/pt-BR/37f12f05-7209-4839-a2ff-0e20d4215d3f/resultado-do-sql-com-vrgulas-e-no-pontos
    ======================================================

         3 - Ou aplicar a Função "Round()"?

    ======================================================
    ROUND (Transact-SQL)
    14/12/2017 - 2 minutos para o fim da leitura

    SELECT ROUND(123.9994, 3), ROUND(123.9995, 3);  
    GO  

    https://docs.microsoft.com/pt-br/sql/t-sql/functions/round-transact-sql?view=sql-server-ver15

    ======================================================
    SQL Server ROUND() Function

    SELECT ROUND(235.415, 2) AS RoundValue;

    https://www.w3schools.com/SQL/func_sqlserver_round.asp
    ======================================================

    []'s,
    Fabio I.

    Fabio,

    Concordo com suas ideias....


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | MTAC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    sexta-feira, 9 de abril de 2021 21:45
  • Junior Galvão,

         Obrigado!

    []'s,
    Fabio I.

    sábado, 10 de abril de 2021 00:39