select max(Ped_Num) from Pedido...

Delphi

23/02/2004

Bom Dia Pessoal,

Estou precisando da ajuda de vcs, pra seguinte questao:

Tenho um campo alfanumerico com 6 posicoes ´PED_NUM CHAR(6)´, onde armazeno os numeros de pedidos digitados, nesse campo eh armazenado tanto numeros ´005302´ como numeros e letras ´P-5302, P05302, T00050, etc´ o que eu quero fazer eh buscar atraves de uma ´select max(PED_NUM) from PEDIDO´ somente o registro que contenha numeros descartando os que tem letras e numeros, eh possivel fazer isso? alguem tem uma dica de como fazer isso?

Agradeco a todos desde ja, Obrigado.


Claudio_f

Claudio_f

Curtidas 0

Respostas

Wtjunior

Wtjunior

23/02/2004

Cláudio,

Como as informações armazenadas no campo não possuem um padrão, vc poderia criar uma coluna na tabela para indicar se o campo possuem valores ´numéricos ou alfanuméricos´

FLG_TIPOCAMPO CHAR(01)
===> N = Numérico
A - Alfanumérico

ai vc faria
select max(.....
from ....
where flg_tipocampo = ´N´

Não sei se vai ajudar
Wilson


GOSTEI 0
Claudio_f

Claudio_f

23/02/2004

Valeu pela dica wtjunior, mas eu consegui colocando uma clausula where < ´999999´, assim como esta ai em baixo.

SQLQ_PEDIDOS.Close;
SQLQ_PEDIDOS.SQL.Text := ´SELECT MAX(PED_NUM) FROM PEDIDOS WHERE PED_NUM < ´´999999´´ ´;
SQLQ_PEDIDOS.Open;

Frm_PEDIDO1 := TFrm_PEDIDO1.Create(nil); //Cria o formulário

nPED_NUM := StrToCurr(SQLQ_PEDIDOS.Fields[0].CurValue);
nPED_NUM := nPED_NUM + 1; //adiciona 1 no ultimo numero gravado
Frm_PEDIDO1.ED_NUM.Text := FormatFloat(´00000#´,nPED_NUM); //coloca 0s na frente do numero p/ completar 6 campos


GOSTEI 0
Wtjunior

Wtjunior

23/02/2004

Vc tem certeza que funciona sempre????
Eu não arriscaria, sempre trabalhe com segurança em banco de dados

Wilson


GOSTEI 0
POSTAR