Fala devs, tudo bem? espero que sim. O ano de 2020 começou daquele jeito, mil projetos, prazos ridiculamente curtos, último ano da Faculdade S2, TCC e por ai vai. Porém desde ano passado venho cultivando a vontade de participar mais, criar conteúdo e fortalecer a comunidade.
Para dar inicio a esse novo desafio (Sim para mim é um grande desafio, estar aqui escrevendo um artigo) andei pensando durante muitos dias sobre um tema. Pois não é que o tema acabou caindo no meu colo na forma de uma baita dor de cabeça?
Todos sabemos que migração de Banco de dados sempre gera um stress e muita dor de cabeça. No meu caso além da migração do banco de Firebird para Postgres, a aplicação sofreria uma atualização para trabalhar com Postgres.
Que dor de cabeça heim? Pois descobrimos que uma das atualizações era a mudança de datastyle de European (DD/MM/AAA) para o padrão ISO (AAAA/MM/DD).
A primeira ideia que surgiu na minha cabeça foi a de mudar o datastyle, porém o mesmo não seria possível :(
A solução era manter o padrão ISO e se utilizar de artimanhas (gambiarra?) para contornar nosso problema.
No Postgres, poderíamos fazer uma inserção semelhante a essa:
insert into test(data) values ('32-01-2020'); --até agora tudo certo, padrão (DD/MM/AAA)
Até ai tudo bem, contudo ao recuperar esse valor do banco teríamos algo assim:
select * from test;
Resultaria em 2020-01-30 convertido para ISO automaticamente.
E para recuperar no formato que (DD/MM/AAAA) poderíamos utilizar a seguinte função nativa do Postgres.
select to_char(data, 'DD/MM/YYYY') from test;
Agora retornando para o formato desejado.
Se esse texto lhe ajudou, se encontrou algum erro ou tem alguma sugestão, gostaria muito de ouvir o que você tem a dizer.
Por hoje é só, até breve.
Top comments (0)