[Pgsql-ayuda] Re: Solicito un favor ....

Alvaro Herrera Munoz alvherre@dcc.uchile.cl
Tue, 28 Oct 2003 18:03:10 -0300


On Tue, Oct 28, 2003 at 05:56:23PM -0300, Carmen Gloria Sepulveda Dedes wrote:

> Antes que todo te pido disculpas por escribir directamente
> a tu correo.  Mi problema es que lo que mando a la lista o
> se me devuelve o se demora 1 o mas dias en llegar.

Hm.. la lista esta sufriendo de ausencia de administración parece.

> 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.

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

Eso para el caso trivial de un entero posiblemente negativo... si es punto
flotante hay que amononarlo un poco, pero se puede.

Hint: es cosa de preguntarle a alguien que sepa de expresiones regulares ...
Si no, literatura obligatoria: "Mastering Regular Expressions", Jeoffrey
Friedl, O'Reilly.

-- 
Alvaro Herrera (<alvherre[@]dcc.uchile.cl>)
"El realista sabe lo que quiere; el idealista quiere lo que sabe" (Anónimo)