From: | Manuel Sugawara <masm(at)fciencias(dot)unam(dot)mx> |
---|---|
To: | Roberto Andrade Fonseca <randrade(at)inteligentes(dot)com(dot)mx> |
Cc: | leonardo(dot)amezquita(at)ubiquando(dot)com(dot)co, pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Una cuestion en pl/pgsql |
Date: | 2005-05-03 22:31:15 |
Message-ID: | m3is20osb0.fsf@conexa.fciencias.unam.mx |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Roberto Andrade Fonseca <randrade(at)inteligentes(dot)com(dot)mx> writes:
> Hola:
>
> Quoting Manuel Sugawara <masm(at)fciencias(dot)unam(dot)mx>:
>
>> Roberto Andrade Fonseca <randrade(at)inteligentes(dot)com(dot)mx> writes:
>>
>> > Usa:
>> >
>> > pos_db=> SELECT date_part('month','01/06/2005'::date);
>> > date_part
>> > -----------
>> > 6
>> > (1 row)
>>
>> Eso no va a jalar, al menos no en todos los casos. El camino más
>> seguro sería con to_date, algo como:
>
> ¿En que caso no jala?
En el caso de que no tengas configurado DateStyle, por ejemplo en mi
máquina:
test0=# SELECT '01/06/2005'::date;
date
------------
2005-01-06
(1 fila)
test0=# SELECT date_part('month','01/06/2005'::date);
date_part
-----------
1
(1 fila)
>> SELECT substring('01/06/2005' from '^...(..)');
>
> ¿Y si la fecha viene como '1/6/2005'?
Pues arreglas la expresión regular:
test0=# SELECT substring('1/6/2005' from '^[^/]+/([0-9]+)' );
substring
-----------
6
(1 fila)
> A esta:
>
> SELECT date_part('month', to_date('01/06/2005', 'DD/MM/YYYY'));
>
> no le veo ningún problema.
Yo si, que como la fecha es un string no necesariamente representa una
fecha válida, pero ese es otro problema (ie, esta mal diseñada la
aplicación - base de datos).
Saludos,
Manuel.
From | Date | Subject | |
---|---|---|---|
Next Message | leonardo.amezquita | 2005-05-03 22:43:03 | Re: Una cuestion en pl/pgsql |
Previous Message | Roberto Andrade Fonseca | 2005-05-03 22:30:27 | Re: Una cuestion en pl/pgsql |