Ver Mensaje Individual
  #5  
Antiguo 03-04-2007
mcalmanovici mcalmanovici is offline
Miembro
 
Registrado: jun 2006
Posts: 78
Reputación: 18
mcalmanovici Va por buen camino
Tema solucionado - Gracias.

Gente:
muchas gracias por la data. Me sirvio un montón la información que me suministraron. Lo pude hacer de una forma muy parecida a la que me dijo RONPABLO.
Mi código del procedure quitar letras quedó así.

DECLARE VARIABLE cont integer;
DECLARE VARIABLE longitudCadena integer;
DECLARE VARIABLE num varchar (1);
DECLARE VARIABLE CADENA_DE_NUMEROS varchar (30);

begin
/* code */
/*Me quedo con la longitud de la cadena que me mandaron*/
longitudCadena = strlen (CADENA);
/*Inicializo el contador para recorrer la cadena*/
cont = 1;
/*Inicializo la cadena en la cual voy a guardar los números de la orden de trabajo*/
CADENA_DE_NUMEROS = '';
/*Recorro la cadena*/
while (cont <= longitudCadena) do
begin
/*me quedo con la letra que se encuentra en la posición cont*/
num = substr(CADENA,cont,cont);
if (num between '0' and '9') then /*si la letra esta dentro de 0 a 9*/
CADENA_DE_NUMEROS = CADENA_DE_NUMEROS || num; /*concateno los números a los que ya tenía*/
cont = cont + 1; /*avanzo a la próxima letra*/
end
/*paso la cadena de letras a un número entero*/
NUMERO = cast(CADENA_DE_NUMEROS as integer);
end

Última edición por mcalmanovici fecha: 03-04-2007 a las 18:28:14.
Responder Con Cita