Ir para conteúdo
Fórum Script Brasil

imgcom

Membros
  • Total de itens

    3
  • Registro em

  • Última visita

Tudo que imgcom postou

  1. 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?
  2. Valeu a ajuda galera, Mas nas duas maneiras citadas acima ficou muito trabalhoso, dei uma pesquisada no site do mylsq e consegui uma função nativa que resolveu o meu problema. Gravei o capitulo como VARCHAR no banco e meu sql ficou assim: SELECT campos FROM tabela ORDER BY CHAR(capitulos) Pra quem precisar aí vai a referência: CHAR(N,...) CHAR() interpreta os argumentos como inteiros e retorna uma string com caracteres dados pelo valor do código ASCII referentes a estes inteiros. Valores NULL são desconsiderados: mysql> SELECT CHAR(77,121,83,81,'76'); -> 'MySQL' mysql> SELECT CHAR(77,77.3,'77.3'); -> 'MMM'
  3. Galera, Estou precisando ordenar capitulos no banco mas estou encontrando um problema. Criei um campo DECIMAL e tudo bem, funcionou até a ordenação do capitulo 1.1 porém eu preciso de um item 1.1.1, daí não rola mais com DECIMAL Resolvi então usar um campo varchar e transformar tudo em um binário, usando INET_ATON e até ordenou, mas logicamente o 10 ficará atrás de 1.1.1 pois o seu binário é menor. Agora estou nessa luta, alguém tem alguma solução pra isso? Não posso ordenar de outras maneiras, teria que ser com base no capitulo mesmo, tipo 1, 1.1, 1.1.1, 2, 2.1.1, etc
×
×
  • Criar Novo...