Verificar campo por posição em Sql

28/12/2005

Boa tarde será que alguém pode me ajudar, estou prescisando fazer uma consulta em sql no delphi, porém eu quero comparar um campo com varios digitos com a função copy do delphi será que alguém sabe como:

Ex: o campo é 200000025 eu que pegar os dois ultimos digitos o eu digito 25 na caixa de texto e quero pesquisar para saber se a combinação existe estou tentando fazer assim:

select * from tabela
WHERE Left$([C_CC],9)=´+QuotedStr(copy(edit1.text,1,9)));

porém não ná certo
alguém sabe alguma função semelhante ao copy mas em sql que funcione para que eu possa fazer isso.

Desde de já agradeço a ajuda
Att
Jujan


Jujan

Respostas

28/12/2005

Gandalf.nho

Qual o seu banco de dados?


Responder Citar

28/12/2005

Jujan

estou utilizando access e firebird


Responder Citar

29/12/2005

Emerson

query.close;
query.sql.text := ´select * from tabela where C_CC like :_parametro ´;
query.parambyname(´_parametro´).asstring := ´¬´+edit1.text;
query.open;


supondo que [b:1cc3a601fb]edit1.text[/b:1cc3a601fb] contenha ´25´


Responder Citar

29/12/2005

Jujan

Estou utilizando Ado a sintaxe:
query1.parambyname(´texto´).asstring := ´¬´+edit1.text;
não funciona, será que pode me passar o mesmo código com ADO.


Responder Citar

29/12/2005

Emerson

tente assim:

query1.[b:2a9ef022fe]Parameters.[/b:2a9ef022fe]parambyname(´texto´).asstring := ´¬´+edit1.text;


Responder Citar

30/12/2005

Jujan

eu também achei uma função em SQL que faz isso:

Select * from table
where mid(nome_do_campo,posição_inicial,posição_final)
é parecido com o copy

where mid(c_cc,1,9)

O outro código com parametro ficou da seguinte forma:

Adoquery.close;
Adoquery.sql.text := ´select * from tabela where C_CC like :_parametro ´;
Adoquery.parameters.parambyname(´_parametro´).asstring := ´¬´+edit1.text;
Adoquery.open;

Obrigado pela ajuda.

O conhecimento compartilhado é a melhor forma de aprendizado.


Responder Citar