Inverter datas
Olá, tenho varias tabelas onde a data esta invertida, Ex. 20050714 como devo fazer para alterar para o padrao 14.07.2005 tenho em torno de 100 tabelas onde variam de 10.000 a 800.000 registros cada uma e as mesmas estao armazenadas no firebird, as datas estao assim porque fiz uma conversao de base cobol para interbase...
Obrigado!!
Obrigado!!
Dberlese
Curtidas 0
Respostas
Dberlese
26/09/2005
sobe
GOSTEI 0
Massuda
26/09/2005
eu não entendo muito de BD, mas talvez isso ajude os colegas...
Você vai criar um novo campo para receber a data no ´formato padrão´?
Se for usar um novo campo, qual seria o tipo dele?
Você vai criar um novo campo para receber a data no ´formato padrão´?
Se for usar um novo campo, qual seria o tipo dele?
GOSTEI 0
Martins
26/09/2005
Olá, tenho varias tabelas onde a data esta invertida, Ex. 20050714 como devo fazer para alterar para o padrao 14.07.2005 tenho em torno de 100 tabelas onde variam de 10.000 a 800.000 registros cada uma e as mesmas estao armazenadas no firebird, as datas estao assim porque fiz uma conversao de base cobol para interbase...
Obrigado!!
Qual banco vc tá utilizando? De q tipo é o campo?
GOSTEI 0
Dberlese
26/09/2005
Estou usando o FireBird e o campo no momento esta VARCHAR(8) Gostaria de um exemplo de como montar um comando onde peço para inverter as datas!! onde elas estão assim: Ex. 20050714 e gostaria que ficasse 14/07/2005 como são muitos registros se tivesse uma forma automatica, um loop....
Obrigado!!
Obrigado!!
GOSTEI 0
Rjun
26/09/2005
Você vai criar um novo campo do tipo data ou esse mesmo campo varchar é que vai receber a data invertida?
GOSTEI 0
Martins
26/09/2005
Estou usando o FireBird e o campo no momento esta VARCHAR(8) Gostaria de um exemplo de como montar um comando onde peço para inverter as datas!! onde elas estão assim: Ex. 20050714 e gostaria que ficasse 14/07/2005 como são muitos registros se tivesse uma forma automatica, um loop....
Obrigado!!
Interessante...
Você vai criar um novo campo do tipo data ou esse mesmo campo varchar é que vai receber a data invertida?
Essa informação é importante.
Agora se for só para inverter a data e colocar em um campo [b:865bb008ac]varchar[/b:865bb008ac], vc poderia fazer assim:
var b: String; begin with Table1 do try While Not Eof Do begin Edit; b:= FieldByName(´OldData´).AsString; FieldByName(´NewData´).AsString := (Copy(b,7,2)+´/´+Copy(b,5,2)+´/´+Copy(b,1,4)); Post; next; end; finally Refresh; First; end; end;
Espero q possa lhe ser útil!!!
Martins
GOSTEI 0
Dberlese
26/09/2005
var b: String; begin with Table1 do try While Not Eof Do begin Edit; b:= FieldByName(´OldData´).AsString; FieldByName(´NewData´).AsString := (Copy(b,7,2)+´/´+Copy(b,5,2)+´/´+Copy(b,1,4)); Post; next; end; finally Refresh; First; end; end;
Era realmente oq eu estava precisando, funcionou perfeitamente, Muito Obrigado!!!
Danilo
GOSTEI 0
Martins
26/09/2005
var b: String; begin with Table1 do try While Not Eof Do begin Edit; b:= FieldByName(´OldData´).AsString; FieldByName(´NewData´).AsString := (Copy(b,7,2)+´/´+Copy(b,5,2)+´/´+Copy(b,1,4)); Post; next; end; finally Refresh; First; end; end;
[b:a930d4b08d]Danilo[/b:a930d4b08d], disponha, estamos aqui para tentar ajudar os colegas, se estiver ao nosso alcance, tentaremos contribuir.
Boa Sorte!!!!
GOSTEI 0
Rjun
26/09/2005
Você também poderia usar um comando SQL.
UPDATE Tabeta SET Campo = SUBSTRING(Campo FROM 7 FOR 2) + SUBSTRING(Campo FROM 5 FOR 2) + SUBSTRING(Campo FROM 1 FOR 4)
GOSTEI 0
Martins
26/09/2005
Você também poderia usar um comando SQL.
UPDATE Tabeta SET Campo = SUBSTRING(Campo FROM 7 FOR 2) + SUBSTRING(Campo FROM 5 FOR 2) + SUBSTRING(Campo FROM 1 FOR 4)
Interessante, vou testar essa instrução!
GOSTEI 0