Pessoal,
Boa tarde.
Procurei nos tópicos relacionados a casas decimais, porém não encontrei a resposta especifica para minha dúvida.
Vejam se consigo ser claro.
Estou tentando bolar um select que traga 17 algarismos, dentre eles, preciso de haja 5 casas decimais, e que o restante para o lado esquerdo, seja completado com zeros.
Vou tentar ilustrar através do número 22.
O retorno desejado seria:
00000000002100000
Consegui ser claro?
Estou tentando através de comandos parecidos com esse:
SELECT lpad(22, LENGTH('FFDDM'),0) FROM dual ;
Porém, sem sucesso !
Obrigado a todos!!
Dúvidas com casas decimais
guterror escreveu:Pessoal,
Boa tarde.
Procurei nos tópicos relacionados a casas decimais, porém não encontrei a resposta especifica para minha dúvida.
Vejam se consigo ser claro.
Estou tentando bolar um select que traga 17 algarismos, dentre eles, preciso de haja 5 casas decimais, e que o restante para o lado esquerdo, seja completado com zeros.
Vou tentar ilustrar através do número 22.
O retorno desejado seria:
00000000002200000
Consegui ser claro?
Estou tentando através de comandos parecidos com esse:
SELECT lpad(22, LENGTH('FFDDM'),0) FROM dual ;
Porém, sem sucesso !
Obrigado a todos!!
- stcoutinho
- Moderador
- Mensagens: 850
- Registrado em: Qua, 11 Mai 2011 5:15 pm
- Localização: são Paulo - SP
Olá Guterror,
Serviria este exemplo?
Na máscara do TO_CHAR, o "0" (zero) força a apresentação do dígito, mesmo que não exista valor para o mesmo, antes ou depois do ponto.
Abraços,
Sergio Coutinho
Serviria este exemplo?
SELECT TO_CHAR(22,'00000000000000000.00000') FROM DUAL;
Abraços,
Sergio Coutinho
Boa tarde STCOUTINHO,
O problema é que na tabela eu terei somente o número 22, sem casas decimais.
Porém obrigatoriamente, eu precisarei preencher com zeros, simulando que haja casas decimais...
E no exemplo que você passou, sairia o "ponto" no retorno do select...
O problema é que na tabela eu terei somente o número 22, sem casas decimais.
Porém obrigatoriamente, eu precisarei preencher com zeros, simulando que haja casas decimais...
E no exemplo que você passou, sairia o "ponto" no retorno do select...
- stcoutinho
- Moderador
- Mensagens: 850
- Registrado em: Qua, 11 Mai 2011 5:15 pm
- Localização: são Paulo - SP
Olá guterror,
Neste caso, creio que bastaria adicionar uma função de REPLACE "encapsulando" o resultado do TO_CHAR:
Abraços,
Sergio Coutinho
Neste caso, creio que bastaria adicionar uma função de REPLACE "encapsulando" o resultado do TO_CHAR:
SELECT REPLACE(TO_CHAR(22,'00000000000000000.00000'),'.','') FROM DUAL
Sergio Coutinho
Sérgio,
Obrigado pela ajuda !!!
Já consegui chegar na idéia!
Obrigado pela ajuda !!!
Já consegui chegar na idéia!

-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 2 visitantes