Procedure : Retorna somente números a partir de um texto

Script

--##################################################################
--AUTOR : Rafmattos - http://www.activedelphi.com.br/forum/viewtopic.php?t=55607&sid=3efd77063b033dd9e6ae386e0fa4d1fb
--DATA : 01/02/2022
--OBS : Ao passar uma String, é retornado somente numeros.
--##################################################################
CREATE PROCEDURE ZZRETORNASOMENTENUMEROS(Texto VARCHAR(100))
RETURNS(Retorno VARCHAR(100)) AS
DECLARE Ch CHAR(1);
BEGIN
  Retorno = '';
  WHILE (Texto IS NOT NULL AND Texto <> '') DO
  BEGIN
    Ch = SUBSTRING(Texto FROM 1 FOR 1);
    IF (Ch >= '0' AND Ch <= '9') THEN
      Retorno = Retorno || Ch;
    Texto = SUBSTRING(Texto FROM 2 FOR 100);
  END
  SUSPEND;
END;

Como usar ?

SELECT * FROM ZZRETORNASOMENTENUMEROS('TEXTO COM NUMEROS 123456');

Retorno