Ir ao conteúdo
  • Cadastre-se

Select porcentagem com caracter %


Poliano Martini

Posts recomendados

Olá pessoal,

tenho em uma tabela um campo numérico de tamanho 4 e 2 casas decimais, gostaria de retornar uma consulta trazendo seu valor devidamente formatado e em forma de string.

Por exemplo:

No Banco ------ Retorno

1.55 ----------- 1,55%

4.50 ----------- 4,5%

12.00 ---------- 12%

Alguém poderia me ajudar a montar essa select?

Obrigado!

Link para o comentário
Compartilhar em outros sites

Olá pessoal,

tenho em uma tabela um campo numérico de tamanho 4 e 2 casas decimais, gostaria de retornar uma consulta trazendo seu valor devidamente formatado e em forma de string.

Por exemplo:

No Banco ------ Retorno

1.55 ----------- 1,55%

4.50 ----------- 4,5%

12.00 ---------- 12%

Alguém poderia me ajudar a montar essa select?

Obrigado!

ola

Que linguagem de programação usa você?

Em "Clarion de softvélocity" , é muito fácil

Campo numerico na format

@N12_`2~ % ~ -------> 423,23%

formatage.jpg

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois...
  • Moderador

No Banco ------ Retorno

1.55 ----------- 1,55%

4.50 ----------- 4,5%

12.00 ---------- 12%

veja amigo, você esta armazenando um double ou float no seu banco no 12% você quer um valor inteiro.. você pode fazer isso como php.. você resgata os valores e calcula a percentagem. no valor inteiro você pode formatar e pegar só valor inteiro da fraçao.

é o melhor a ser feito

Link para o comentário
Compartilhar em outros sites

Olá,

se você pegar os dados e tratar em alguma LP, dá para fazer isso perfeitamente.

O código que postei, funcionou 100% em mysql para ESTE CASO SEU, admito não ser a melhor forma, mas rapidamente foi isso que me veio na cabeça ^^.

ps.: RETIRE O LIMIT 10 do select, coloquei para testar. ^^

Link para o comentário
Compartilhar em outros sites

  • Moderador

@Erciley Junior, sua ideia é boa.. mas isso pode onerar o banco de dados quando houver muitos registros porque estas fazendo dois selects e uma conversao na consulta.. por isso sugeri fazer a consulta mais simples e deixar a conversao para a linguagem de programaçao.

Link para o comentário
Compartilhar em outros sites

@Erciley Junior, sua ideia é boa.. mas isso pode onerar o banco de dados quando houver muitos registros porque estas fazendo dois selects e uma conversao na consulta.. por isso sugeri fazer a consulta mais simples e deixar a conversao para a linguagem de programaçao.

Concordo plenamente, só quis exemplificar uma forma direto pelo banco.^_^

Link para o comentário
Compartilhar em outros sites

  • Moderador
só quis exemplificar uma forma direto pelo banco.^_^

entendo perfeitamente sua posiçao. mas nao podemos esquecer que como aqui estamos ajudando as pessoas.. devemos alerta-las dos perigos também.

acho que sua resposta seria bem mais digamos.. adequada se tivesse postado desta forma:

Ola amigo, você poderia fazer isto de duas formas:

uma diretamente no banco:

Select if( right(a,2) = '00' , replace( a , '.00' , '' ) , if( right(a,1) = '0' , left(a,length(a)-1) , a ) ) , a from

( select convert( seu_campo , decimal(4,2) ) as a from sua_table limit 10 ) as b

mas lembre-se de que esta nao é a melhor forma pois pode trazer problemas como lentidao de consulta

outra diretamente na linguagem de programaçao, onde voce faz a consulta só buscando os valores e convertendo na linguagem. desta forma nao onera o banco de dados.

bom, isso nao foi uma critica contra você amigo, eu acho que sua resposta foi muito boa para fins de aprendizado. é bom que ele saiba que também dá para fazer diretamente no banco, mas sabendo também que isso pode causar problemas.

portando eu só considero meu post como um auxilio de como postar e fornecer uma ajuda melhor com o os usuarios!

de qualquer forma, deixo bem claro que nao sou melhor do que ninguem, e gosto de ajudar os usuarios a entender bem seus problemas.

te dou os parabens pela iniciativa de sua parte, é assim que o forum tem que ser.. pessoas que ajudam!

grande abraço

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!