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: 86.052 ]
Por: Fábio Berbert de Paula em 06/11/2002 | Blog: https://fabio.automatizando.dev
| Especificador | Descrição |
%M | Nome do mês (January..December) |
%W | Nome do dia da semana (Sunday..Saturday) |
%D | Dia do mês com o sufixo em Inglês (1st, 2nd, 3rd, etc.) |
%Y | Ano, numérico, com 4 dígitos |
%y | Ano, numérico, com 2 dígitos |
%a | Nome do dia da semana abreviado (Sun..Sat) |
%d | Dia do mês, numérico (00..31) |
%e | Dia do mês, numérico (0..31) |
%m | Mês, numérico (01..12) |
%c | Mês, numérico (1..12) |
%b | Nome do mês, abreviado (Jan..Dec) |
%j | Dia do ano (001..366) |
%H | Hora (00..23) |
%k | Hora (0..23) |
%h | Hora (01..12) |
%I | Hora (01..12) |
%l | Hora (1..12) |
%i | Minutos, numérico (00..59) |
%r | Horário, 12 horas (hh:mm:ss [AP]M) |
%T | Horário, 24 horas (hh:mm:ss) |
%S | Segundos (00..59) |
%s | Segundos (00..59) |
%p | AM ou PM |
%w | Dia da semana (0=Domingo..6=Sábado) |
%U | Semana (00..53), onde Domingo é o primeiro dia da semana |
%u | Semana (00..53), onde Segunda é o primeiro dia da semana |
%% | Caractere `%'. Atenciosamente, Fábio Berbert de Paula fabio@vivaolinux.com.br Página anterior Páginas do artigo
1. Introdução2. A função DATE_FORMAT() Outros artigos deste autor
Se preparando para obter certificação LPI Root no Samsung Galaxy S3 usando GNU/Linux Desktop Linux ganha novos apps enquanto IA invade o noticiário Sorteio de camisetas promovido pela GeekWorld Leitura recomendada
Amarok: migrando de SQLite para MySQL Gerenciando banco de dados com MySQL (parte 2) Store Procedures com Transaction no MySQL Gambas2 e MySQL, aprofundando relações 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 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")); PatrocínioSite hospedado pelo provedor RedeHost.
DestaquesArtigosGentoo: detectando impressoras de rede e como fixar uma impressora por IP Como o GNOME conseguiu o feito de ser preterido por outras interfaces gráficas Gentoo binário em 2026: UEFI, LUKS, Btrfs e Systemd Trabalhando Nativamente com Logs no Linux Jogando Daikatana (Steam) com Patch 1.3 via Luxtorpeda no Linux DicasPor que sua empresa precisa de uma PKI (e como automatizar EMISSÕES de certificados via Web API) Instalando NoMachine no Gentoo com Systemd (acesso Remoto em LAN) Gentoo: Trocando wpa_supplicant pelo iwd no NetworkManager (Systemd) TópicosO que houve com slackware ??? (12) Alterar conteúdo de dica [RESOLVIDO] (3) Vou destruir sua infância:) (5) Top 10 do mês
Scripts |