Formatar Datas no MySQL, PostgreSQL e SQL Server

 

Formatar Datas no MySQL, PostgreSQL e SQL ServerVamos tratar neste artigo sobre como formatar datas no MySQL, PostgreSQL e SQL Server. Essa necessidade é muito comum quando gravamos datas em campos do tipo Date que geralmente está no formato internacional (yyyy-mm-dd) e vamos exibir para o usuário no formato brasileiro (dd/mm/yyyy).

Pessoalmente já me acostumei com o formato estrangeiro mas os usuários em geral reclamam demais se exibirmos datas assim “2015-12-25” (Natal). Existe ainda programadores que criam campos para armazenar datas em VARCHAR e formatam a data no formato brasileiro antes de gravar, isso pode causar problemas sérios quando necessitamos ordenar registros por data ou até executar consultas baseadas em Dias, Meses ou Anos.

Isso porque o valor do campo é texto e fica difícil extrair dados específicos referente a data, então fica a dica “campo para armazenar data tem que ser do tipo DATE“, abaixo vou demonstrar como formatar essas datas para o usuário no MySQL, PostgreSQL e SQL Server, mas praticamente todos os SGBDs do mercado possuem funções para esse tipo de prática.

Formatar datas no MySQL

Formatando Datas no MySQL

No MySQL, vamos usar a função DATE_FORMAT(date, format)  que recebe 2 parâmetros, sendo o primeiro parâmetro a data (tipo Date) que precisamos formatar e o segundo parâmetro o formato que queremos de saída. No exemplo abaixo uso a função a CURRENT_DATE() para capturar a data do sistema YYYY-MM-DD e formato a saída para DD/MM/YYYY.

 

Formatar datas no PostgreSQL

Formatando Datas com PostgreSQL

No PostgreSQL, vamos usar a função TO_CHAR(timestamp, text) que recebe 2 parâmetros, sendo o primeiro parâmetro a data (tipo Timestamp ou Date) que precisamos formatar e o segundo parâmetro é o formato que queremos na saída. No exemplo abaixo uso a função a CURRENT_DATE para capturar a data do sistema YYYY-MM-DD e formato a saída para DD/MM/YYYY.

 

Formatar datas no SQL Server 2008

Formatando Datas no SQL Server

No SQL Server, vamos usar a função CONVERT(data_type, expression, style)  que recebe 3 parâmetros e serve para fazer conversões entre diversos tipos de dados, o primeiro parâmetro é o data_type para o qual precisamos converter, nesse caso vamos exibir a data como VARCHAR, o segundo parâmetro nesse exemplo é a data (tipo Date) que precisamos formatar e o terceiro parâmetro é o style ou código do formato que queremos na saída, nessa página é possível visualizar os formatos e seu respectivos códigos. No exemplo abaixo uso a função a GETDATE() para capturar a data do sistema YYYY-MM-DD e formato a saída para DD/MM/YYYY.

 

Post relacionado:  Curiosidades sobre os tipos de dados do MySQL

Bom pessoal, hoje meu objetivo foi deixar algumas dicas de formatação de datas, visto que esse tipo de dúvida é muito comum nos fóruns da WEB. Com isso podemos dar fim na “gambiarra” de formatar a data antes de gravar em um campo VARCHAR e depois ficar sofrendo para ordenar os registros.

 

Até a próxima …

Show Buttons
Hide Buttons