Nelson V 0 Denunciar post Postado Julho 6, 2007 Fala senhores, tudo bem? Eu to tentando resolver uma coisa e realmente estou perdido... rs Eu tenho um campo numa tabela de MYSQL que é uma série de números separados em vírgula, como um CSV Por exemplo: tipos_prod -> 2,5,9,22,457,600 e to tentando fazer uma query que busque os itens que contenham um número específico nesse array, como: SELECT * FROM `anunciantes` WHERE `tipos_prod` RLIKE '[^0-9]+22[^0-9]+' onde 22 é um número que estou buscando por exemplo. O problema é que esse REGEXP não funciona se o número for o primeiro ou o último, como o 2 e o 600 no exemplo. Eu estava tentando achar a sintaxe certa para um condicional na REGEXP (como (?=pergunta)(if)|(else)) do MYSQL mas não achei... Alguém sabe a sintaxe certa para essa busca que estou fazendo? Compartilhar este post Link para o post Compartilhar em outros sites
Nelson V 0 Denunciar post Postado Julho 6, 2007 Fala senhores, tudo bem? Eu to tentando resolver uma coisa e realmente estou perdido... rs Eu tenho um campo numa tabela de MYSQL que é uma série de números separados em vírgula, como um CSV Por exemplo: tipos_prod -> 2,5,9,22,457,600 e to tentando fazer uma query que busque os itens que contenham um número específico nesse array, como: SELECT * FROM `anunciantes` WHERE `tipos_prod` RLIKE '[^0-9]+22[^0-9]+' onde 22 é um número que estou buscando por exemplo. O problema é que esse REGEXP não funciona se o número for o primeiro ou o último, como o 2 e o 600 no exemplo. Eu estava tentando achar a sintaxe certa para um condicional na REGEXP (como (?=pergunta)(if)|(else)) do MYSQL mas não achei... Alguém sabe a sintaxe certa para essa busca que estou fazendo? Consegui resolver, mas de uma forma totalmente gambiarrizada... SELECT * FROM `anunciantes` WHERE `tipos_prod` RLIKE '[^0-9]+574[^0-9]+' OR `tipos_prod` RLIKE '^574[^0-9]+' OR `tipos_prod` RLIKE '[^0-9]+574$' OR `tipos_prod` RLIKE '^574$' ORDER BY anunc_id Se alguém tiver um solução mais elegante gostaria de ver Compartilhar este post Link para o post Compartilhar em outros sites