Fórum Like em campo text ( SQL ) #388147

08/10/2010

0

Olá pessoal estou fazendo uma consulta em um campo text em banco SQL 7, uso o like para fazer esta consulta.   Resumindo estou pequisando uma palavra dentro de uma campo text, más fica muito lento e estou querendo mudar este tipo de consulta, fiquei sabendo que o SQL tem um comando chamado full text, mas nunca usei.   Será que alguem pode me ajudar ??   Muito obrigado.
Marcelo

Marcelo

Responder

Posts

08/10/2010

Eriley Barbosa

http://msdn.microsoft.com/pt-br/library/cc564872.aspx
Responder

Gostei + 0

12/10/2010

Marcelo

Eliley, vi a matéria .... muito boa, más uso atualmente o sql 7.0, ele tem a opção de full text mas todas as opções estão desabilitadas. Tentei rodar a instalação do sql para ver se tenho alguma opção de instalar, mas nada, será que vc tem alguma idéia para eu resolver isso.   Muito obrigado, Marcelo.
Responder

Gostei + 0

13/10/2010

Eriley Barbosa

Achaei só para o SQLServer 2000, mas vê se te ajuda: http://www.athens.com.br/manuais/Produtos/PDF/InstalacaoSQLServer2000.pdf
Responder

Gostei + 0

25/10/2010

Marcelo

Estou instalando o SQL2000 no win XP, eu só tenha a opção de instalar como Client Tools Only,   será que tem alguma coisa p/ fazer para habilitar a opção server and client tools ?   Muito Obrigado.
Responder

Gostei + 0

22/11/2010

Marcelo

Olá amigos, consegui montar o Full Text no SQL 2000, más estou com um problema... Quando faço esta consulta não da erro --> select * from tmplj where contains(descricao, '"AGESUL"'). Más quando a palavra pesquisa tem espaços dar um erro.   EX:select * from tmplj where contains(descricao, '"A G E S U L"'). Erro:A clause of the query contained only ignored words.   Será que algue pode me ajudar...   Muito obrigado.
Responder

Gostei + 0

22/11/2010

Pietro Braga

está usando '"AGESUL"' com aspas duplas entre aspas simples? :S Não seria apenas "AGESUL". Somente com aspas duplas?
Responder

Gostei + 0

22/11/2010

Pietro Braga


  Desconsidere meu post anterior, agora entendi a pergunta. :D
Responder

Gostei + 0

22/11/2010

Wilson Junior

Porque você não utiliza o LIKE? Pois assim você poderia substituir os espaços pelo caracter '%', considerando que cada espaço é um separador de palavras.

Espero ter colaborado.
Responder

Gostei + 0

22/11/2010

Pietro Braga


Olá amigos, consegui montar o Full Text no SQL 2000, más estou com um problema...
Quando faço esta consulta não da erro --> select * from tmplj where contains(descricao, '"AGESUL"').
Más quando a palavra pesquisa tem espaços dar um erro.
 
EX:select * from tmplj where contains(descricao, '"A G E S U L"').
Erro:A clause of the query contained only ignored words.
 
Será que algue pode me ajudar...
 
Muito obrigado.
 

Andei lendo sobre esa instrução, é uma pena não ter em outros bancos, é muito interessante.
Pelo que entendi ficaria assim:
[code]
select * from tmplj where contains(descricao, ' "A" OR "G" OR "E" OR "S" OR "U" OR "L" ');
A não ser que esteja querendo procurar por uma frase. 
Responder

Gostei + 0

22/11/2010

Marcelo

A palavra que estou pesquisando é    'A G E S U L'   é apenas uma palavra não é varias letras, o correto é ela ser escrita sem os espaços 'AGESUL' más não depende da empresa escrever assim ela já receber o material em arquivo texto.   Muito obrigado.
Responder

Gostei + 0

22/11/2010

Marcelo

Olá Wilson, muito obrigado pela dica, más eu já uso o like, mas como pesquiso em campo text fica muito lento, então estou tentando implementar para o full text, e estou encontrado algumas dificuldades. Muito Obrigado..
Responder

Gostei + 0

22/11/2010

Pietro Braga

Poisé mas o banco irá entender como se fossem palavras separadas. Pode tentar dessa maneira...
select * from tmplj where contains(descricao, "A ~ G ~ E*") 
Não sei se funciona com mais de três letras (palavras).
Responder

Gostei + 0

22/11/2010

Pietro Braga

Retire o * ao lado do E.
Responder

Gostei + 0

22/11/2010

Wilson Junior

O que você pode fazer é retirar os espaços, mas isto pode ficar perigoso no casa de você ter duas palavras (exemplo: "MEU TESTE"), pois neste caso você teambém retiraria os espaços.
Deve ser analisado se será efetuada a pesquisa com apenas uma palavra ou mais.

Espero ter colaborado.
Responder

Gostei + 0

23/11/2010

Marcelo

É pelo que entendi o full text quando ele encontra uma palavra unica separada ele separa ela da frase.   Exemplo: Paulo de Souza P Coelho: Ele não pesquisa o nome inteiro, ele pesquisa assim 1 - Paulo de Souza 2 - P 3 - Coelho   Ele teria que entender que pesquisar este nome inteiro, e eu estou colocando o nome entre " " aspas duplas, será que tem algum coisa que posso fazer ??   Muito obrigado pessoal.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar