select max(Ped_Num) from Pedido...
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.
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
Curtidas 0
Respostas
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
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
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
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
23/02/2004
Vc tem certeza que funciona sempre????
Eu não arriscaria, sempre trabalhe com segurança em banco de dados
Wilson
Eu não arriscaria, sempre trabalhe com segurança em banco de dados
Wilson
GOSTEI 0