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

buscar valor de array em campo mysql


unisov

Pergunta

ola

alguém saberia me dizer se é possivel fazer uma busca na base de dados usando valores de uma array como criterio de busca no WHERE?

exemplo:

eu guardaria as arrays na base de dados, e na hora de buscar eu apontaria um elemento q esta dentro de uma dessas arrays...

tipo, IN(1,2,3), mas 1,2,3 estariam dentro da array que por sua vez estaria guardado na base de dados...

se isso não for possivl, alguém tem alguma dica de como eu posso fazer isso?

seria mais ou menos o seguinte,

em um campo da base de dados eu colocar varios valores, q podem variar, tipo, "valor1, valor3, valor7", então quando eu for fazer a busca, caso ele contenha algum desses valores no campo, ele seja mostrado...

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Oi, 'unisov'

Para saber se um valor está em um "array" (do jeito que você pensa) você pode usar a função FIELD_IN_SET. Veja abaixo:

set @var="casa,hotel,pensao";
select @var;
select find_in_set('hotel',@var);
select find_in_set('hotel',"casa,hotel,pensao");

Esta função retorna a posição do elemento no "array". No caso do exemplo, o número 2; Se o elemento pesquisado não existir, então retornará zero. Outra característica é que o "array" não pode começar com virgula.

Para retornar um elemento, fornecendo a posição deste no array, você deverá escrever uma função UDF (uma codificação semelhante a uma storage procedure).

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
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...