none
Formatar retorno de um calculo RRS feed

  • Pergunta

  • Tenho o Comando abaixo:

    SELECT SUBSTRING(IN86_432,145,17) , SUBSTRING(IN86_432,108,17),

    (CAST(SUBSTRING(IN86_432,145,17)AS NUMERIC (17,0))

    / CAST(SUBSTRING(IN86_432,108,17)AS NUMERIC (17,0))) FROM IN86_432

     

    Que gera o resultado abaixo:

    Coluna 1                              Coluna 2                              Coluna 3

    00000000000017345       00000000001000000       0.017345000000000000

    00000000000026607       00000000003000000       0.008869000000000000

    00000000000024100       00000000002000000       0.012050000000000000

    Como faço para a coluna 3 ser gerada como abaixo ??

     

    Coluna 1                              Coluna 2                              Coluna 3 (como deve ser o resultado)

    00000000000017345       00000000001000000       000000000000017345

    00000000000026607       00000000003000000       000000000000008869

    00000000000024100       00000000002000000       000000000000001205

    • Movido Gustavo Maia Aguiar domingo, 23 de agosto de 2009 02:58 (De:SQL Server - Desenvolvimento Geral)
    quinta-feira, 20 de agosto de 2009 19:14

Respostas

  • Renan.... de bate pronto.... eu vejo que você tem que transformar em varchar a coluna e preencher com zeros a esquerda.

    Algo assim:

    With tbResultado as (
    SELECT SUBSTRING(IN86_432,145,17) as Col1, SUBSTRING(IN86_432,108,17) as Col2,
           Cast(CAST(SUBSTRING(IN86_432,145,17)AS NUMERIC (17,0)) / CAST(SUBSTRING(IN86_432,108,17) AS NUMERIC (17,0)) as varchar) as Col3
           FROM IN86_432
    )
    Select Col1,
           Col2,
           REPLICATE('0',18 - len(RTrim(LTrim(Col3)))) +  Col3
      From tbResultado


    Tks. Fausto Fiorese Branco DBA - SQL Server 2k5 São Paulo - Brasil * http://dba-sqlserver.blogspot.com/
    quinta-feira, 20 de agosto de 2009 20:34

Todas as Respostas

  • Renan.... de bate pronto.... eu vejo que você tem que transformar em varchar a coluna e preencher com zeros a esquerda.

    Algo assim:

    With tbResultado as (
    SELECT SUBSTRING(IN86_432,145,17) as Col1, SUBSTRING(IN86_432,108,17) as Col2,
           Cast(CAST(SUBSTRING(IN86_432,145,17)AS NUMERIC (17,0)) / CAST(SUBSTRING(IN86_432,108,17) AS NUMERIC (17,0)) as varchar) as Col3
           FROM IN86_432
    )
    Select Col1,
           Col2,
           REPLICATE('0',18 - len(RTrim(LTrim(Col3)))) +  Col3
      From tbResultado


    Tks. Fausto Fiorese Branco DBA - SQL Server 2k5 São Paulo - Brasil * http://dba-sqlserver.blogspot.com/
    quinta-feira, 20 de agosto de 2009 20:34
  • Valeu cara, obrigado pela ajuda
    terça-feira, 15 de setembro de 2009 12:30