From: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
---|---|
To: | Miguel Ortega <mortega(at)tc(dot)com(dot)ve> |
Cc: | Juan Martínez <jeugenio(at)umcervantes(dot)cl>, pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Hola Lista |
Date: | 2007-04-12 18:14:14 |
Message-ID: | 20070412181414.GL15947@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Miguel Ortega escribió:
> Juan Martínez escribió:
> >María Lorena Culzoni Estigarribia escribió:
> >>Como puedo hacer una función que de una fecha dada que ingrese capte
> >>el año y me calcule si es mayor a 18 años.
> >
> >Mmm...no se si sea necesario una funcion, pero esto te puede ayudar:
> >
> >SELECT CASE WHEN ((to_char(now(),'YYYY')::int2) -
> >(to_char('una_fecha_aqui'::date,'YYYY')::int2)) > 18 THEN 'Mayor a 18'
> >ELSE 'Menor o igual a 18' END AS respuesta;
Nunca he entendido ese amor tan incondicional por una funcion tan
horriblemente concebida como to_char().
> Hola, Si quieres saber esto por el asunto de la mayoria de edad, con ese
> enfoque que te enviaron, pierdes un grupo de personas... Te sugiero algo
> como, no se si para lo que tu necesitas sea una solucion con mayor o
> menor certeza.:
>
> SELECT CASE WHEN (now()-'fecha'::date)/365.2425 >=18 THEN 'Mayor de
> Edad' Else 'Menor de Edad' END as mayoria;
Que manera de complicarse la vida :-)
alvherre=# select age('1976-10-28'::date) > '18 years';
?column?
----------
t
(1 fila)
--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support
From | Date | Subject | |
---|---|---|---|
Next Message | Guido Barosio | 2007-04-12 18:57:23 | Re: error en dump |
Previous Message | Alvaro Herrera | 2007-04-12 18:11:37 | Re: Resta Horas y dias |