Re: Consulta sobre funciones en la version 8.3.1

From: Gabriel Hermes Colina Zambra <hermeszambra(at)yahoo(dot)com>
To: Diego Ayala <netdiego81(at)gmail(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Consulta sobre funciones en la version 8.3.1
Date: 2008-04-01 15:39:59
Message-ID: 525072.1050.qm@web63710.mail.re1.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda


--- Diego Ayala <netdiego81(at)gmail(dot)com> escribió:

> buenos dias a todos, quiero comentarles sobre una
> experiencia q tuve este
> fin de semana con la nueva versión de PostgreSQL
> 8.3.1, en la actualidad en
> mi servidor de producción tengo instalado la versión
> 8.2.3 que funciona muy
> bien, el caso es que instale en un nuevo servidor la
> versión 8.3.1 de 64
> bits RHEL5, restaure el backup de mi base de datos,
> y todo bien, sin
> problemas, pero cuando probe este sentencia me salio
> el siguiente error:
>
> select substr(current_date,1,4)
>
> ERROR: no existe la función substr(date, integer,
> integer)
> LINE 1: select substr(current_date,1,4)
> ^
> HINT: Ninguna función coincide en el nombre y tipos
> de argumentos. Puede
> desear agregar conversión explícita de tipos.
>
> Entiendo que no se puede realizar un substr de
> current_date, ya que
> casteando si ejecuta la sentencia
>
> select substr(current_date::text,1,4)
>
> 2008
>
> sin embargo en la version 8.2.3 al ejecutar esta
> misma sentencia lo hace sin
> necesidad de realizar el cast.
>
> select substr(current_date,1,4)
>
> 2008
>
> la consulta que tengo es, en esta nueva versión
> 8.3.1, ya valida que no se
> realice un substr de current_date, ?? conocen
> algunas otras funciones que
> cambian respecto a su funcionamiento ? con versiones
> anteriores del
> PostgreSQL 8.3.1
>
> Gracias por su ayuda de antemano..
>
>
> --
> Diego Ayala
>
select substr(fecha::text,1,4); puesto que siempre va
a trabajar sobre text, aun con varchar lo convertira a
text, por lo menos esto hasta el manual en español que
yo tengo

En tu caso podrias usar

Tambien existe date_part('year',fecha)

que te devuelve 2008

o

date_trunc('year',fecha)

que te 2008-01-01

Atte.
Gabriel Colina

____________________________________________________________________________________
¡Capacidad ilimitada de almacenamiento en tu correo!
No te preocupes más por el espacio de tu cuenta con Correo Yahoo!:
http://correo.espanol.yahoo.com/

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Roberto Guevara 2008-04-01 15:55:18 Duda de pgpool II
Previous Message MIGUEL CANCHAS 2008-04-01 15:36:46 RE: como pasar este campo