--#SET TERMINATOR @

CREATE OR REPLACE FUNCTION IS_NUMERIC (
  IN STRING VARCHAR(10)
 ) RETURNS SMALLINT
 -- ) RETURNS BOOLEAN
 BEGIN
  DECLARE RET SMALLINT;
  -- DECLARE RET BOOLEAN;
  DECLARE TMP INTEGER;
  DECLARE CONTINUE HANDLER FOR SQLSTATE '22018'
    SET RET = 1;
    -- SET RET = FALSE;

  SET RET = 0;
  --SET RET = TRUE;
  SET TMP = INTEGER(STRING);
  RETURN RET;
 END @

VALUES IS_NUMERIC('5')@
VALUES IS_NUMERIC('0')@
VALUES IS_NUMERIC('-1')@
VALUES IS_NUMERIC('A')@
VALUES IS_NUMERIC('-')@
VALUES IS_NUMERIC('z')@
VALUES IS_NUMERIC('')@
VALUES IS_NUMERIC(' ')@
