Ir para conteúdo
Fórum Script Brasil
  • 0

Valor inteiro mais próximo


imgcom

Pergunta

Seguinte,

Preciso fazer um select que me retorne o valor mais próximo ao que o usuário digitou, por exemplo:

tenho uma tabela com valores inteiros

| valores | - o usuário digita 110 e o select deveria me retornar o 100;

+-------- +

| 100 | - o usuário digita 135 e o select deveria me retornar o 150.

| 150 |

| 180 |

| 180 |

+---------+

bom, já tentei usar o round mas não deu certo pois a diferença entre os números pode variar. Será que só fazendo um select dentro do select que faça a comparação e depois retorne o valor encontrado? Alguém tem uma sugestão mais eficaz?

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0
Seguinte,

Preciso fazer um select que me retorne o valor mais próximo ao que o usuário digitou, por exemplo:

tenho uma tabela com valores inteiros

| valores | - o usuário digita 110 e o select deveria me retornar o 100;

+-------- +

| 100 | - o usuário digita 135 e o select deveria me retornar o 150.

| 150 |

| 180 |

| 180 |

+---------+

bom, já tentei usar o round mas não deu certo pois a diferença entre os números pode variar. Será que só fazendo um select dentro do select que faça a comparação e depois retorne o valor encontrado? Alguém tem uma sugestão mais eficaz?

Olha, tu vai ter que pegar no select o valor que ele digitou, que vai ter que estar armazenado para que tu possa compara-lo e fazer um if dentro de um select.

Link para o comentário
Compartilhar em outros sites

  • 0

Oi, 'imgcom'

A lógica é esta:

IF(valor <= 125, 100, IF(valor <= 165, 150, 180))
Pode colocar como um atributo calculado ou na cláusula WEHRE de seu SELECT. Exemplo 1
SELECT IF(valor <= 125, 100, IF(valor <= 165, 150, 180)) FROM minha tabela
Exemplo 2
SELECT * FROM minhatabela where campo = IF(valor <= 125, 100, IF(valor <= 165, 150, 180))

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...