Ver Mensaje Individual
  #1  
Antiguo 19-04-2024
Avatar de Carmelo Cash
Carmelo Cash Carmelo Cash is offline
Miembro
 
Registrado: jul 2003
Ubicación: Buenos Aires
Posts: 261
Reputación: 22
Carmelo Cash Va por buen camino
create procedure que retorne solo numeros

Buenos días foro:

Estoy usando Firebird 2.5 y la base dice SQL Dialecto 1

Tengo un campo string que tiene este dato '20-12456789-0' y necesito que al consultar regrese '2012456890'.

Necesito tenerlo desde la consulta, sin arreglarlo desde Delphi.

Estuve mirando la posibilidad de hacer un procedimiento almacenado, pero aún no tuve éxito.

la verdad es que no puedo crearlo. Si lo ejecuto así, me dice "Token unknow line 1 column 5"

Si le saco la primer línea, me dice "Unespeted en of command line 3 column 11" , y así llevo horas renegando.

Bueno, desde ya agradezco cualquier sugerencia que me ayude a resolver este tema.

(este procedimiento que copio abajo, lo saqué de internet y le hice algunas modificaciones)


saludos.


Código SQL [-]
SET TERM ^;
Create Procedure SoloNumeros (num string) returns (Numero String) as
declare i integer;
declare res string;
begin
  res='';
  i=1;
  while (i<=char_length(:num)) do begin
    if ((substring(:num from i for 1) > ascii_char(29) ) and (substring(:num from i for 1)then begin
      res =res||substring(:num from i for 1);
    end 
    i=i+1;
  end
  result=res;
  suspend;
end ^
SET TERM ;^
Responder Con Cita