Re: [Pgsql-ayuda] Funcion isnumeric???

From: Gunnar Wolf <gwolf(at)gwolf(dot)cx>
To: Carmen Gloria Sepulveda Dedes <csepulveda(at)atichile(dot)com>
Cc: pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx
Subject: Re: [Pgsql-ayuda] Funcion isnumeric???
Date: 2003-10-29 18:45:01
Message-ID: 20031029184501.GN6882@gwolf.cx
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Carmen Gloria Sepulveda Dedes dijo [Tue, Oct 28, 2003 at 12:55:37PM -0300]:
> Hola a todos
>
> Necesito una funcion que implemente algo asi como
> is_number(varchar) ... que retorne 1 si el varchar que
> recibe es un valor que es un numero o que retorne 0 si
> es lo contrario.
>
> Busque algo asi en postgres, pero no lo encontre.
>
> Alguien sabe como puedo hacerlo? o sabe si la funcion
> efectivamente existe?

Ummm... Sin la menor experiencia al respecto, me suena algo así:
Cuando tú defines una función en plpgsql, le indicas los tipos de
datos de sus argumentos, y la defines en función de ellos. Por tanto,
podrías crear un juego de funciones muy simples así:

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';

etc.

Poco elegante, pero sencillo :)

Saludos,

--
Gunnar Wolf - gwolf(at)gwolf(dot)cx - (+52-55)5630-9700 ext. 1366
PGP key 1024D/8BB527AF 2001-10-23
Fingerprint: 0C79 D2D1 2C4E 9CE4 5973 F800 D80E F35A 8BB5 27AF

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message felipe.molina 2003-10-29 18:46:54 [Pgsql-ayuda] Diferencias en querys
Previous Message Alvaro Herrera 2003-10-29 18:29:29 Re: [Pgsql-ayuda] Re: Postgresql sobre windows