Обсуждение: About "Alter table... alter column.. TYPE ... "

Поиск
Список
Период
Сортировка

About "Alter table... alter column.. TYPE ... "

От
Ying Lu
Дата:
Hello,

To alter table column from varchar(32) to date. "Alter table" command 
does not seem to work:

alter table test  alter column col type date ;
ERROR:  column "col1" cannot be cast to type "date"

Tks,
Emi



Re: About "Alter table... alter column.. TYPE ... "

От
Rod Taylor
Дата:
> To alter table column from varchar(32) to date. "Alter table" command 
> does not seem to work:
> 
> alter table test  alter column col type date ;
> ERROR:  column "col1" cannot be cast to type "date"

Alter table will not automatically throw away information. That is, in
cases where it believes you may lose data, it will not perform it.

That said, you can coax it into doing so.

ALTER TABLE test ALTER COLUMN col TYPE date USING CAST(col AS date);

USING is an arbitrary expression capable of doing most things you can do
in an UPDATE.
--