A função DATE_FORMAT() do MySQL

A tônica é verdadeira, não há banco de dados onde não seja necessário manipular campos de data e hora, mas isso acarreta num grave problema com relação à portabilidade do seu projeto. Aprenda a contornar esse problema utilizando a função DATE_FORMAT() do MySQL.

[ Hits: 73.200 ]

Por: Fábio Berbert de Paula em 06/11/2002 | Blog: https://www.facebook.com/jedi.fabio


Introdução

A tônica é verdadeira, não há banco de dados onde não seja necessário manipular campos de data e hora, mas isso acarreta num grave problema com relação à portabilidade do seu projeto. Geralmente os programadores projetam os scripts que manipulam data de acordo com a string retornada pelo servidor, que pode variar de acordo com a configuração de regionalidade do mesmo. Por exemplo, num servidor configurado para mostrar a data de acordo com os padrões americanos, a data é retornada no formato mm/dd/aaaa,no padrão SQL aaaa-mm-aa, no padrão Europeu dd/mm/aaaa e assim por diante.

Imagine que o seu projeto tenha uns 50 scripts que manipulam data de acordo com o padrão americano e você resolve migrar o seu site para um servidor configurado para retornar data no formato dd/mm/aaaa. Bufafa !!! Você precisará alterar o tratamento de string em 50 scripts. Isso é o que chamo de site mal projetado, pois está muito dependente do sistema operacional,sua portabilidade fica prejudicada.

    Próxima página

Páginas do artigo
   1. Introdução
   2. A função DATE_FORMAT()
Outros artigos deste autor

Personalizando seu lilo no Debian

Root no Samsung Galaxy S3 usando GNU/Linux

Organizando projetos com a classe FastTemplate (parte 2)

Zello - Transforme seu Android (e GNU/Linux) num Walkie Talkie

Criando gráficos com a classe JPGraph (parte 1)

Leitura recomendada

MariaDB + phpMyAdmin no Ubuntu 12.04 LTS

MySQL Workbench no Slackware 14.0

Gerenciando banco de dados com MySQL (parte 2)

Amarok: migrando de SQLite para MySQL

SQL Dicas & Truques (versão 0.1)

Comentários
[1] Comentário enviado por harleyhav em 19/03/2004 - 18:46h

Sempre é bom contarmos com pessoas como vc. É assim que iremos mais longe: Adquirindo e passando experiências uns aos outros.
Valeu!!! Continue assim!!!
harleyhav@click21.com.br

[2] Comentário enviado por harleyhav em 19/03/2004 - 18:49h

Se você puder disponibiliza também estas matérias em format PDF, ajudaria bastante. Estou estudando a respeito do MySQL, mas não sei o inglês, por isso me atrazo; tenho muita vontade de aprender. no meu perfil tem uma descrição do que estou pretendendo. Se puder me ajudar, agradeço muito.
Obrigado.

[3] Comentário enviado por germano_silva em 24/02/2005 - 21:46h

Cara muito interessante o que escreveu;

Me deu até uma luz sobre pq estou fazendo um projeto sobre PHP+MySQL e ja ouvi falar desse metodo porém ainda naum o tinha visto na pratica.
Valeu cara tu é 10


[4] Comentário enviado por rafanery0 em 19/12/2005 - 13:12h

Para consulta tudo bem, mas para inserir dados neste formato???

[5] Comentário enviado por morphors em 05/11/2008 - 08:04h

estou com a mesma dúvida q o rafael... tenho uma base de dados q preciso passar para o MySQL, e ela já esta no formato dd/mm/aaaa, inserindo desta forma em um campo "date", não vai. Estou procurando alguma função em php ou mysql q grave no formado do mysql aaaa-mm-dd. São aproximadamente 600 registros e tá complicado.

Mais valeu!!! Boa dica

[6] Comentário enviado por fabio em 05/11/2008 - 09:51h

Você pode resolver isso abrindo o arquivo SQL no VIM e usando uma expressão regular para fazer a substituição/formatação de data. Ex.:

$ vim registros.sql

Dentro do editor, digite o seguinte comando e pressione enter:

:%s/\([0-9][0-9]\)\/\([0-9][0-9]\)\/\([0-9][0-9][0-9][0-9]\)/\3-\2-\1

E pra salvar e sair:

:x

Um abraço.

[7] Comentário enviado por farmamanager em 17/07/2012 - 11:05h

Fiz no meu MySQL e funcionou (quase) perfeitamente. Usei %b e ficou em inglês. Alguém sabe como traduzir?


Contribuir com comentário