Para la version 8.3 postgres es mas exigente en los tipos de datos. Entonces
una recomendacion muy buena para quienes esten migrando a 8.3 es colocar un
CAST o :: en todos los tipos de datos, asi parezca obvio.

José VASQUEZ

2009/6/4 Jimmy Huaman <[email protected]>

> Estimados.
> Les comento que estoy migrando mi base de datos a PostgreSQL 8.3.7-1 pero
> estoy teniendo problemas con algunos querys que no están funcionando en esta
> versión.
>
> Ejemplo 1:
> SELECT DBF_FEC_PUBLICA, CAST(DBF_FEC_PUBLICA as date) FROM dbf_cabecera
> WHERE
> CAST(DBF_FEC_PUBLICA as date) < (current_date - 730) or
> CAST(DBF_FEC_PUBLICA as date) > (current_date + 365)
> LIMIT 1
>
> devuelve:
> ERROR:  invalid input syntax for type date: "        "
>
> ********** Error **********
>
> ERROR: invalid input syntax for type date: "        "
> SQL state: 22007
>
> Revisando que datos devuelve el query
> SELECT DBF_FEC_PUBLICA, CAST(DBF_FEC_PUBLICA as date) FROM dbf_cabecera
> LIMIT 1
>
> devuelve:
> "20081218";"2008-12-18"
> DBF_FEC_PUBLICA es de tipo character(8).
>
> Prueba 1:
> Si indicamos la fecha manualmente no da error.
>
> SELECT
>       DBF_FEC_PUBLICA, CAST(DBF_FEC_PUBLICA as date)
> FROM dbf_cabecera
> WHERE
> CAST('2008-12-18' as date) < (current_date - 730) or
> CAST('2008-12-18' as date) > (current_date + 365)
> LIMIT 1
>
> La pregunta es: ¿qué estoy haciendo mal?, o ¿qué cambio en esta versión del
> PostgreSQL que le esta faltando al query?.
>
> Saludos y muchas gracias por sus respuestas.
>
> --
> Ing. Jimmy Huamán
> Oficina de Tecnología de la Información y Estadística
>
> Ministerio de la Producción
> Calle Uno Oeste N° 060 - Urbanización Córpac, San Isidro
> Phone: (51-1) 616-2222 Anexo: 646
> Office Email: [email protected]
>

Responder a