[Pgsql-ayuda] Funcion isnumeric???

Carmen Gloria Sepulveda Dedes csepulveda@atichile.com
Wed, 29 Oct 2003 15:52:35 -0300


Hola ...

Gracias por la solucion que me das.  No la habia considerado y sirve.

En todo caso, hablando de soluciones elegantes .... :

create or replace function is_number(varchar) returns boolean as
'select $1 ~ ''^[-+]?[0-9]+$''' strict immutable language sql;

... otro importante aporte de Alvaro ....
para que lo tengan en cuenta si lo necesitan....

Saludos y muchas gracias,

CG


> CREATE OR REPLACE FUNCTION is_numeric(integer) RETURNS bool AS
> 'BEGIN
>     RETURN ''t'';
> END;' LANGUAGE 'plpgsql';
>
> CREATE OR REPLACE FUNCTION is_numeric(numeric) RETURNS bool AS
> 'BEGIN
>     RETURN ''t'';
> END;' LANGUAGE 'plpgsql';
>
> CREATE OR REPLACE FUNCTION is_numeric(varchar) RETURNS bool AS
> 'BEGIN
>     RETURN ''f'';
> END;' LANGUAGE 'plpgsql';
>
> CREATE OR REPLACE FUNCTION is_numeric(text) RETURNS bool AS
> 'BEGIN
>     RETURN ''f'';
> END;' LANGUAGE 'plpgsql';
>
> CREATE OR REPLACE FUNCTION is_numeric(bool) RETURNS bool AS
> 'BEGIN
>     RETURN ''f'';
> END;' LANGUAGE 'plpgsql';