GARANTIR DESCONTO

Fórum Inverter datas #297132

26/09/2005

0

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!!


Dberlese

Dberlese

Responder

Posts

27/09/2005

Dberlese

sobe


Responder

Gostei + 0

27/09/2005

Massuda

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?


Responder

Gostei + 0

27/09/2005

Martins

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?


Responder

Gostei + 0

27/09/2005

Dberlese

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!!


Responder

Gostei + 0

27/09/2005

Rjun

Você vai criar um novo campo do tipo data ou esse mesmo campo varchar é que vai receber a data invertida?


Responder

Gostei + 0

27/09/2005

Martins

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


Responder

Gostei + 0

27/09/2005

Dberlese

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


Responder

Gostei + 0

27/09/2005

Martins

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


[b:a930d4b08d]Danilo[/b:a930d4b08d], disponha, estamos aqui para tentar ajudar os colegas, se estiver ao nosso alcance, tentaremos contribuir.

Boa Sorte!!!!


Responder

Gostei + 0

27/09/2005

Rjun

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)



Responder

Gostei + 0

27/09/2005

Martins

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!


Responder

Gostei + 0

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

Aceitar