Converter campo no Interbase - Char para Date
Olá amigos, uso BD Interbase e tenho um campo na minha tabela chamado dat_nascimento CHAR(10) e gostaria de converter ele para DATE ou TIMESTAMP.. como faço para converter o campo sem a perda dos dados ja inseridos?
Obrigado..
Renato
Obrigado..
Renato
Anonymous
Curtidas 0
Respostas
Anonymous
07/03/2003
Por favor me ajudem!!![b:6f5cf300f1][/b:6f5cf300f1]
GOSTEI 0
Anonymous
07/03/2003
Se eu nao me engano a SQL tem uma instrução a ALTER COLLUMN (ou coisa parecida) que altera o tipo da coluna, mas não sei se os dados serão convertidos
GOSTEI 0
Anonymous
07/03/2003
Vou tentar..[b:00b0a5e0d4][/b:00b0a5e0d4]
GOSTEI 0
Anonymous
07/03/2003
O interbasenao reconhece esse comando..
:(
:(
GOSTEI 0
Anonymous
07/03/2003
Acho que o mais seguro é incluir na sua table um campo date, criar um form transformando o campo char em date
ex: camponovo.value := strToDate(campovelho.value);
depois vc apaga o campo velho
e depois renomeia o campo novo...
é meio gambiarra mas dá certo
Espero ter ajudado.
ex: camponovo.value := strToDate(campovelho.value);
depois vc apaga o campo velho
e depois renomeia o campo novo...
é meio gambiarra mas dá certo
Espero ter ajudado.
GOSTEI 0
Anonymous
07/03/2003
Valeu Mariangela.. fiz o seguinte.. criei um novo campo na minha tabela e coloquei a seguinte codificacao no meu formulario no delphi:
var
valor : string;
begin
table1.First;
while not table1.Eof do
begin
valor := table1.Fieldbyname(´dat_nascimentoVelho´).asstring;
If valor <> ´´ then
begin
table1.edit;
table1.Fieldbyname(´dat_nascNovo´).value := strtodate(table1.Fieldbyname(´dat_nascimentoVelho´).Asstring);
table1.Post;
table1.Next;
end
else
table1.Next;
end;
ShowMessage(´registros atualizados com sucesso´);
end;
Depois que atualizei simplesmente exclui o campo ´dat_nascimentoVelho´ da minha tabela..
Obrigado..
Renato
var
valor : string;
begin
table1.First;
while not table1.Eof do
begin
valor := table1.Fieldbyname(´dat_nascimentoVelho´).asstring;
If valor <> ´´ then
begin
table1.edit;
table1.Fieldbyname(´dat_nascNovo´).value := strtodate(table1.Fieldbyname(´dat_nascimentoVelho´).Asstring);
table1.Post;
table1.Next;
end
else
table1.Next;
end;
ShowMessage(´registros atualizados com sucesso´);
end;
Depois que atualizei simplesmente exclui o campo ´dat_nascimentoVelho´ da minha tabela..
Obrigado..
Renato
GOSTEI 0
Anonymous
07/03/2003
Que bom que resolveu seu problema. Já ouviu aquele ditado? Quem não tem cão, caça com gato! rs...
Até mais
Até mais
GOSTEI 0