[firebase-br] Como converter campo varchar para numeric
Paulo
pauloobh em oi.com.br
Seg Out 26 17:32:30 -03 2009
Marcio Integer não aceita 0 a esqueda, no clientDataSet você pode configurar
o FormatEdit ou DisplayFormat 00000
----- Original Message -----
From: "Mauricio Cezar Cirino" <mauriciocirino em terra.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Monday, October 26, 2009 5:10 PM
Subject: [firebase-br] Como converter campo varchar para numeric
Tenho uma Stored Procedure, preciso converter um campo VARCHAR para INTEGER
como posso proceder... e manter os zeros a direita do meu campo fixado em
tamanho 4...
pois reutilizo o valor em uma tabela de calculo, onde tenho quer ter inicio
em 0001 e não 1
DECLARE VARIABLE NUM VARCHAR(12);
DECLARE VARIABLE N1 INTEGER;
DECLARE VARIABLE N2 INTEGER;
DECLARE VARIABLE N3 INTEGER;
DECLARE VARIABLE N4 INTEGER;
DECLARE VARIABLE N5 INTEGER;
DECLARE VARIABLE N6 INTEGER;
DECLARE VARIABLE N7 INTEGER;
DECLARE VARIABLE N8 INTEGER;
DECLARE VARIABLE N9 INTEGER;
DECLARE VARIABLE N10 INTEGER;
DECLARE VARIABLE N11 INTEGER;
DECLARE VARIABLE N12 INTEGER;
DECLARE VARIABLE NN1 VARCHAR(1);
DECLARE VARIABLE NN2 VARCHAR(1);
DECLARE VARIABLE NN3 VARCHAR(1);
DECLARE VARIABLE NN4 VARCHAR(1);
DECLARE VARIABLE NN5 VARCHAR(1);
DECLARE VARIABLE NN6 VARCHAR(1);
DECLARE VARIABLE NN7 VARCHAR(1);
DECLARE VARIABLE NN8 VARCHAR(1);
DECLARE VARIABLE NN9 VARCHAR(1);
DECLARE VARIABLE NN10 VARCHAR(1);
DECLARE VARIABLE NN11 VARCHAR(1);
DECLARE VARIABLE NN12 VARCHAR(1);
DECLARE VARIABLE NPR INTEGER;
DECLARE VARIABLE SOMA INTEGER;
DECLARE VARIABLE TOTAL INTEGER;
begin
N1 = 0;
N2 = 0;
N3 = 0;
N4 = 0;
N5 = 0;
N6 = 0;
N7 = 0;
N8 = 0;
N9 = 0;
N10 = 0;
N11 = 0;
N12 = 0;
NPR = 0000;
NPR = :NPROT_INI;
num = '00000000000';
begin
while (NPR < :NPROT_FIM OR NPR = :NPROT_FIM) do
begin
num = extract(year from :data) || extract(month from :data) ||
extract(day from :data) || NPR;
numero = num;
soma = 0;
total = 0;
nn1 = substrlen(NUM,1,1);
nn2 = substrlen(NUM,2,1);
nn3 = substrlen(NUM,3,1);
nn4 = substrlen(NUM,4,1);
nn5 = substrlen(NUM,5,1);
nn6 = substrlen(NUM,6,1);
nn7 = substrlen(NUM,7,1);
nn8 = substrlen(NUM,8,1);
nn9 = substrlen(NUM,9,1);
nn10 = substrlen(NUM,10,1);
nn11 = substrlen(NUM,11,1);
nn12 = substrlen(NUM,12,1);
n1 = nn1;
n2 = nn2;
n3 = nn3;
n4 = nn4;
n5 = nn5;
n6 = nn6;
n7 = nn7;
n8 = nn8;
n9 = nn9;
n10 = nn10;
n11 = nn11;
n12 = nn12;
soma =
(n1*12)+(n2*11)+(n3*10)+(n4*9)+(n5*8)+(n6*7)+(n7*6)+(n8*5)+(n9*4)+(n10*3)+(n11*2)+(n12*1);
total = (soma / 8);
total = (total * 8);
digito = (soma - total);
NPROT = NPR;
DOCORRENC = :DATA;
NPR = NPR + 0001;
suspend;
end
end
end
----- Original Message -----
From: "Eduardo Belo" <beloelogica em gmail.com>
To: "FireBase" <lista em firebase.com.br>
Sent: Monday, October 26, 2009 4:31 PM
Subject: Re: [firebase-br] Select apenas registros numeico
Pelo que entendi, voçê quer converter VARCHAR para NUMERIC.
Use o CAST, veja o exemplo:
SELECT CC FROM TT
WHERE CC = CAST('VALOR' AS NUMERIC(15, 2))
Boa Sorte!
2009/10/26 Jonas <jonas em hos.com.br>:
> Olá pessoal,
>
> tenho uma tabela TT com um campo CC, sendo que este campo eh um Varchar.
>
> Em um Select, tenho como filtrar apenas os registros que são numericos?
>
> EX:
>
> SELECT * FROM TT WHERE CC IS NUMERIC
>
> Obrigado a todos
>
> --
> ====================================
> www.hos.com.br
> Jonas - Desenvolvimento
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
Mais detalhes sobre a lista de discussão lista