Fórum Ajuda com Consulta SQL #330088
26/09/2006
0
Como posso fazer uma pesquisa para saber se dentro de algum desses campo existe uma string qualquer?
Exemplo,em no campo FM cotem; abcde[123545[defds ,então preciso achar a string ´defds´,assim saberia que o campo FM contem essa string.
Uso um Edit onde se digita a string a ser procurada dentro do campo FM.
Uso o Delphi 7 +zeos+FireBird 1.5.
Agradeço a quem me ajudar.
Kroki
Curtir tópico
+ 0Posts
26/09/2006
Macario
Select Campo from Tabela where campo like ´¬TEXTOPESQUISA¬´
Mas veja esta nao e uma boa maneira para pesquisa.
Gostei + 0
27/09/2006
Raserafim
Select Campo from Tabela where campo containing :TEXTOPESQUISA
uma vez vi um tópico aqui no fórum que dizia que utilizando o like não era utilizado os índices.
como o firebird tem um comando para substituir o like, acredito eu que assim o índice é utilizado, mas não tenho certeza.
Gostei + 0
27/09/2006
Kroki
Na verdade preciso achar a sequencia exata.
Não sei se isso ajuda,mas os campos aonde vou procurar a sequencia,tem o final de tamanho fixo,exemplo,o campo ´FLM´ tem no final da sequencia uma string fixa de 5 caracteres,mas o campo pode conter de 15 a 70 caracteres.
Se eu fosse colocar um campo para cada ítem,a tabela teria 50 campos a mais,mas misturando ela fica com 10,cada campo de 10 tem 5 strings misturadas onde uso um separador ´[´para achar cada ítem,mas o início dela não é de tamanho fixo,só o final,como disse cada campo pode ser,
´abcdefghijklmno[xxxxx[xxxxx´,ou ´abc[xxxx[xxxx´.Preciso achar os valores ´x´.
Gostei + 0
27/09/2006
Kroki
Gostei + 0
27/09/2006
Macario
Ola.
Se o [b:fc240c3aee]Containing[/b:fc240c3aee] que voce se refere for [b:fc240c3aee]indice Full-text[/b:fc240c3aee], ele obtem melhor performance que o [b:fc240c3aee]Like[/b:fc240c3aee].
Gostei + 0
30/09/2006
Kroki
Como se faz a pesquisa para se achar uma string no final de um campo Char?
Tipo,campo Char de 80 e quero comparar uma string com os ultimos 5 caracteres do campo.
Gostei + 0
30/09/2006
Macario
faço uso da funcao [b:ce66d8143d]substring[/b:ce66d8143d]
para retornar o campo inteiro, comparando apenas os ultimos 5 caracteres
select CAMPOCHAR80 from TABELA where substring(CAMPOCHAR80,75,5) = ´12345´
para retornar apenas os ultimos 5 caracteres, comparando apenas os ultimos 5 caracteres
select substring(CAMPOCHAR80,75,5) from TABELA where substring(CAMPOCHAR80,75,5) = ´12345´
[]´s
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)