Logo Hardware.com.br
rockbilly
rockbilly Membro Senior Registrado
246 Mensagens 0 Curtidas

Mysql - Busca por nome com espaços!

#1 Por rockbilly 03/10/2005 - 14:46
Olá,

Estou com um problema, por exemplo, tem um registro com um campo NOME, em q seu conteúdo é:

"JOAO JOCA BLABLABLA"

ou seja, depois do JOAO há 2 espaços inseridos pelo user. Então quando mando fazer uma busca pelo mesmo nome desse jeito:

"JOAO JOCA BLABLABLA"

o sistema nao acha por haver 2 espaços como descrito acima depois do JOAO! Tem alguma função que trata isso no MYSQL? Já tentei com o TRIM, mas nao se aplica a este problema...

Alguem pode me ajudar?

Grato.
rockbilly
rockbilly Membro Senior Registrado
246 Mensagens 0 Curtidas
#3 Por rockbilly
03/10/2005 - 17:05
rwar
Não fica assim?
SELECT *
FROM <tabela>
WHERE NOME='JOAO JOCA BLABLABLA'


Note que há aspas si...


A sintaxe da consulta é exatamente esta rwar como vc bem descreveu acima, porem no cadastro q o user fez, ele colocou 2 espaçõs depois do nome, então se eu for no banco e colocar esta sintaxe ele nao acha, mas se colocar o mesmo nome da sintaxe acima com os 2 espaços depois de JOAO, a busca é efetuada... ou seja, se o user quiser verificar seu registro e nao lembrou q cadastrou seu nome com esses espaços, ele nao vai ter sucesso na amostra do seus dados! Nao sei como resolver isso... ?! :cry: :?
"Antes de julgar os outros, Julga-te a ti mesmo!" By JESUS CRISTO.
"Confia em Deus, mas não te esqueças de que Deus confia em ti"
By Emmanuel.
rockbilly
rockbilly Membro Senior Registrado
246 Mensagens 0 Curtidas
#7 Por rockbilly
04/10/2005 - 08:30
FMC
rockbilly, acho que o correto mesmo seria fazer a validação dos dados inseridos, afinal, não queremos dois esp...


Exatamente! Eu deveria ter feito o tratamento na entrada como falado por vocês. Quanto ao LIKE nao iria dar muito certo, pois teria q me voltar apenas um registro e nao varios, caso o usuario digitasse JOAO!

Grato a todos!
"Antes de julgar os outros, Julga-te a ti mesmo!" By JESUS CRISTO.
"Confia em Deus, mas não te esqueças de que Deus confia em ti"
By Emmanuel.
jqueiroz
jqueiroz Cyber Highlander Registrado
104K Mensagens 5.7K Curtidas
#8 Por jqueiroz
04/10/2005 - 15:29
Quanto ao LIKE nao iria dar muito certo, pois teria q me voltar apenas um registro e nao varios, caso o usuario digitasse JOAO!

Você não entendeu... não é pra ELE fazer isso, é pra VOCÊ fazer isso, assim você corrige o cadastro do sujeito, depois altera sua crítica pra ficar um pouco mais à prova de usuários...
"chmod 777 nunca ajudou ninguém" (c) 2002-2021 JQueiroz/FGdH
Conheça o Blog do Zekke
Kleber Costa
Kleber Costa General de Pijama Registrado
5.2K Mensagens 1 Curtida
#9 Por Kleber Costa
04/10/2005 - 16:02
Eu acho que usando expressões regulares dá pra fazer essa pesquisa!
Partindo da idéia: pega uma string e divide num array! vai ficar $arr[0] = 'JOAO'; $arr[1] = 'JOCA'; $arr[2] = 'BLABLABLA';

aí cria a expressão:
vamonessaJOAOeaêjosoaresJOCAalguemsabedissoaêBLABLABLAtemmaisepacoaquitem!

Fica aí a idéia e um link caso não saiba expressões regulares. Na documentação do mysql tem info sobre como usá-las!
Salve! Ó terra dos altos coqueiros!
De belezas soberbo estendal!
Nova Roma dos bravos guerreiros
Pernambuco, imortal, imortal!


Linux User #262254
rockbilly
rockbilly Membro Senior Registrado
246 Mensagens 0 Curtidas
#10 Por rockbilly
05/10/2005 - 08:13
Kleber Costa
Eu acho que usando Expressões regulares dá pra fazer essa pesquisa!
Partindo da idéia: pega uma string e divide num ...


Interessante Kleber! vou dar uma sondada nesta sua dica. Eu acabei fazendo uma função em PHP para tratar isso no envio ao BD, se pudesse fazer a mesma funçao no mysql seria blz!

Enfim, valeu a dica!
"Antes de julgar os outros, Julga-te a ti mesmo!" By JESUS CRISTO.
"Confia em Deus, mas não te esqueças de que Deus confia em ti"
By Emmanuel.
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal