Buenísimo, muchas gracias, no sabía que se podía instruir al ALTER de como
hacer la modificación.
MUCHAS GRACIAS
Guillermo Villanueva




El 12 de octubre de 2012 11:49, Daymel Bonns Solís <dbo...@uci.cu> escribió:

> On 10/12/2012 10:40 AM, Rodrigo Gonzalez wrote:
>
>> On Fri, 12 Oct 2012 11:12:25 -0300
>> "Guillermo E. Villanueva" <guillermo...@gmail.com> wrote:
>>
>>  Hola amigos,
>>> tengo una columna de una tabla de tipo varchar(10)
>>> la tabla tiene mas de 1millón de filas esa columna por ahora está en
>>> null para todas las filas.
>>> Resulta que el tipo correcto de datos es date, es posible modificarlo
>>> teniendo en cuenta que está todo nulo? *(no puedo cambiar el orden de
>>> las columnas)*
>>>
>>> Si intento:
>>> alter table nacer.historicotemp alter column fum type date
>>> me da:
>>> ERROR:  la columna «fum» no puede convertirse al tipo date
>>>
>>> ********** Error **********
>>>
>>> ERROR: la columna «fum» no puede convertirse al tipo date
>>> SQL state: 42804
>>>
>>> No me digan que tendré que crear de nuevo la tabla!?!?
>>>
>> No, no tenes que crearla de nuevo...tenes que usar using
>>
>> postgres=# alter table test alter column texto type date using
>> (texto::date);
>> ALTER TABLE
>> postgres=# \d test
>>      Table "public.test"
>>   Column | Type | Modifiers
>> --------+------+-----------
>>   texto  | date |
>>
>>  En tu caso cambiar solo texto por null, quedaría:
>
> alter table nacer.historicotemp alter column fum type date using
> (null::date);
>
>
> --
>           --     --
>          /  \~~~/  \  . o O ( http://postgresql.uci.cu )
>    ,----(     oo    )
>   /      \__     __/
>  /|         )\  |(
> ^ \    /__\  /\ |
>    |__|   |__|-"
>
>
> 10mo. ANIVERSARIO DE LA CREACION DE LA UNIVERSIDAD DE LAS CIENCIAS
> INFORMATICAS...
> CONECTADOS AL FUTURO, CONECTADOS A LA REVOLUCION
>
> http://www.uci.cu
> http://www.facebook.com/**universidad.uci<http://www.facebook.com/universidad.uci>
> http://www.flickr.com/photos/**universidad_uci<http://www.flickr.com/photos/universidad_uci>
>

Responder a