| From: | Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl> |
|---|---|
| To: | Josué Maldonado <josue(at)lamundial(dot)hn> |
| Cc: | Lista postgresql <Pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx> |
| Subject: | Re: [Pgsql-ayuda] Ultimo dia del mes |
| Date: | 2003-08-23 17:14:36 |
| Message-ID: | 20030823171435.GB5999@dcc.uchile.cl |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-es-ayuda |
On Sat, Aug 23, 2003 at 10:54:20AM -0600, Josué Maldonado wrote:
> Hola lista,
>
> Como puedo obtener el ultimo dia del mes de un fecha dada?
En SQL:
select extract(day from (extract(year from now()) || '-' ||
extract(month from now()) + 1 || '-01')::date - '1 day'::interval);
(seguramente hay una forma mejor)
O en Perl:
sub diasDelMes {
my $mes = shift;
my $anno = shift;
return undef unless defined $anno && defined $mes;
if ($mes == 2) {
return 28 unless ($anno % 4 == 0) xor
($anno % 100 == 0) xor ($anno % 400 == 0);
return 29;
}
return (qw(0 31 0 31 30 31 30 31 31 30 31 30 31))[$mes];
}
(esto es trivialmente traducible a cualquier lenguaje imperativo)
--
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
"At least to kernel hackers, who really are human, despite occasional
rumors to the contrary" (LWN.net)
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Josué Maldonado | 2003-08-23 17:32:29 | Re: [Pgsql-ayuda] Ultimo dia del mes |
| Previous Message | Alvaro Herrera | 2003-08-23 17:06:45 | Re: [Pgsql-ayuda] default a una función |