Array
(
)

Verificar campo por posição em Sql

Jujan
   - 28 dez 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


Gandalf.nho
   - 28 dez 2005

Qual o seu banco de dados?


Jujan
   - 28 dez 2005

estou utilizando access e firebird


Emerson
   - 29 dez 2005

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


supondo que edit1.text contenha ´25´


Jujan
   - 29 dez 2005

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.


Emerson
   - 29 dez 2005

tente assim:

query1.Parameters.parambyname(´texto´).asstring := ´¬´+edit1.text;


Jujan
   - 30 dez 2005

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.