Pular para o conteúdo

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.
Fábio Berbert de Paula fabio
Hits: 86.378 Categoria: Banco de Dados Subcategoria: MySQL
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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.

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
   1. Introdução
   2. A função DATE_FORMAT()

Automatizando digitação de códigos 2FA no browser

HOWTO: Como se tornar moderador do Viva o Linux

Liberte-se: Crie um Servidor Proxy na Nuvem para Acessar Conteúdos Bloqueados

Como isolar seus projetos Python com virtualenv (ambiente virtual)

SQL Dicas & Truques (parte 2)

OpenOffice + ODBC + MYSQL

SQL Dicas & Truques (parte 2)

Instalando o MySQL no Slackware

Instalando o MySQL Workbench - com solução de possível problemas de dependência

Resolva Problemas com o MySQL Workbench no Linux Mint 21.1

#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 rafael_nery 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?
#8 Comentário enviado por wiltonjr em 27/09/2016 - 18:30h

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

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



Oi Rafael
Para inserir dados você pode usar a instrução no seguinte formato:
INSERT INTO funcionario values (07, "WILTON", '5', "INSTRUTOR", 1530.00, STR_TO_DATE("08/08/1988", "%d/%m/%Y"));

Contribuir com comentário

Entre na sua conta para comentar.