Wednesday, May 28, 2008

Re: [pgsql-es-ayuda] sobre ALTER TABLE

2008/5/28 Jaime Casanova <systemguards@gmail.com>:
> On Wed, May 28, 2008 at 8:22 AM, Marcos Saldivar
> <baron.rojo.cuerdas.de.acero@gmail.com> wrote:
>> 2008/5/28 Jaime Casanova <systemguards@gmail.com>:
>>> On Tue, May 27, 2008 at 11:00 PM, Mario Reyes (GENESYS)
>>> <Genesys3@celulosa.cmpc.cl> wrote:
>>>>
>>>> ALTER TABLE "public"."presupuestos" ALTER COLUMN "pres_fecha_inicio" TYPE
>>>> DATE;
>>>>
>>>> ERROR: column "pres_fecha_inicio" cannot be cast to type "date"
>>>>
>>>> La pregunta por lo tanto es Cual es la manera correcta de hacer el Cast?. He
>>>> intentado con el USING de acuerdo a la documentación.
>>>>
>>>> ALTER TABLE "public"."presupuestos" ALTER COLUMN "pres_fecha_inicio" TYPE
>>>> date USING "pres_fecha_inicio"::date;
>>>>
>>>> Sin embargo aparece otro error:
>>>> ERROR: cannot cast type time without time zone to date
>>>> (0,547 sec)
>>>>
>>>
>>> Si en esa columna aun no has grabado ningun dato, puedes hacer:
>>> ALTER TABLE "public"."presupuestos"
>>> ALTER COLUMN "pres_fecha_inicio" TYPE date USING NULL;
>>>
>>> Si ya hay datos, ahi si esta fregada la cosa...
>>
>> por qué ? acaso no puede hacer un simple drop de esa columna ?
>
> si, se puede...
> pero el ALTER TABLE tambien funciona con el USING NULL aunque tenga
> datos la columna, pero pierde los datos
>
>> imagino que si necesita un date, no puede tener mas que poca valides
>> la info de esa columna si es time
>
> ese es mi punto, esos datos son como poco no validos y seguramente no
> habra forma segura o confiable de recuperarlos como date... en otras
> palabras que ya los perdio...

entonces que use lo que le recomiendas que es mucho mas elegante que
lo que hacia yop de un drop column y luego un add column je je je

ALTER TABLE "public"."presupuestos" ALTER COLUMN "pres_fecha_inicio"
TYPE date USING NULL;

saludos.-

>
>
> --
> Atentamente,
> Jaime Casanova
> Soporte y capacitación de PostgreSQL
> Guayaquil - Ecuador
> Cel. (593) 087171157
>
--
TIP 6: ¿Has buscado en los archivos de nuestra lista de correo?

http://archives.postgresql.org/pgsql-es-ayuda

No comments: