utilizar 'Like' em inteiros

asa_delta

Power Member
Boas


Estou com um problema, tenho k efectuar a pesquisa numa Data View em C#, para tal estou a utilizar a função 'Like', ela funciona bem caso o campo da BD for Varchar, mas se for Inteiro não funciona.

Ex:
l_filter = "FSC_NOME like '" + TB_NOME.Text + "%'";

funciona na perfeirção pois FSC_NOME é um Varchar, mas se for um INTEIRO não funciona,
alguém me ajude !!!!!!!

Já utilizei a função "to_varchar()", mas no código dá erro

Obrigado
 
no código coloquei assim, mas não dá

l_filter = "FSC_NUM_MECA = " + Convert.ToChar( TB_NUMERO.Text),

sendo o FSC_NUM_MECA um inteiro


o mais estranho é que no Orcale Sql developer, faz a pesquisa correctamente, não dando kalker erro
 
Última edição pelo moderador:
se é oracle não é convert mas sim to_char

select * from tabela where to_char(campo_numerico) like '%666%'


agora eu não te recomendo é fazeres isso porque essa query irá fazer sempre um full table scan. Mesmo que tenhas indice nesse campo. Alem disso o % antes da expressão é muito ineficiente, mantem só o '%' no fim se for possivel

se for mesmo nencessário então cria um function based index para essa expressão para evitar o full table scan e passares a ter um index range scan
 
Back
Topo