Fórum como alterar uma coluna no ib6? #36837

20/05/2003

0

estou tentando alterar um coluna de varchar para date,estou tentando assim
alter table tb_movimentacao
alter column dia type date

mas não da certo????


Jiu

Jiu

Responder

Posts

20/05/2003

Vinicius2k

a forma correta seria assim, mas não faça...
1) criar uma coluna temporária : alter table tb_movimentacao add temp_dia varchar(10);
2) copiar os dados da coluna dia para a coluna temporaria : update tb_movimentacao set temp_dia = dia;
3) dar um drop(excluir) na coluna dia (alter table tb_movimentacao drop dia)
4) incluir novamente a coluna dia com o novo tipo : alter table tb_movimentacao add dia date;
5) copiar os dados da coluna temporária para a coluna dia : update tb_movimentacao set dia = temp_dia ....

Isso daria certo se ao final dia e temp_dia fossem do mesmo tipo, mas vc tem q converter os valores de temp_dia para tipo date e isso, infelizmente, eu não sei como fazer... e acho q realmente seja um problema inclusive o formato de data do interbase eh diferente...
Estes passos funcionarão sempre para tipos de dados iguais...


Responder

Gostei + 0

23/05/2003

Obubiba

Completando a dica do amigo vncsoliveira, para alterar um tipo de dado para outro, utilize o comando Cast():

update tb_movimentacao set dia = cast(temp_dia as date);


Responder

Gostei + 0

27/05/2003

Vinicius2k

Legal... olha como a gente não perde nada em tentar ajudar ... ajudei um colega ateh aonde eu pude e aprendi um pouco com outro colega...
:D


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar