Funções de manipulação de data do MySQL 5.5
Veja neste artigo as várias funções que o MySQL 5.5 oferece para manipular datas internamente no banco, sem a necessidade controlar na aplicação.
Entendendo as funções MySQL
Olá pessoal, neste artigo vou demostrar algumas funções que o SGBD MySQL nos fornece para manipularmos datas internamente no banco usando SQL, geralmente efetuamos esse tipo de tratamento internamente na aplicação, independente da linguagem que esteja sendo desenvolvida.
Nesse artigo vou usar o MySQL 5.5.13, sem nenhum tipo de interface gráfica para gerenciamento, vamos acessar o MySQL através do prompt de comando do próprio Windows 7.
Para iniciar o prompt basta clicar em EXECUTAR e digitar “cmd” ou vá até acessórios e selecione a opção correspondente.
Para iniciar MySQL via prompt basta digitar: “mysql –u <seu_usuário> -p <sua_senha>”
Relacionado: Curso completo de MYSQL
Vamos começar demonstrando como retornar a data atual do servidor, podemos usar a função CURDATE() ou CURRENT_DATE(). Digite no prompt a seguinte instrução:
SELECT CURDATE(); ou SELECT CURRENT_DATE();
Podemos aproveitar esse retorno “2012-08-2012” para demonstrar outra função muito interessante. A função “DATE_FORMAT()” que recebe dois parâmetros(<data_para_formatar>, <formato_desejado>) e tem a finalidade de alterar o formato da data, geralmente trabalhamos com datas nesse formato “MM/DD/AAAA”. Podemos alterar esse retorno da seguinte maneira.
SELECT DATE_FORMAT(CURDATE() ‘%d/%m/%Y’);
Observações:O parâmetro “%” é obrigatório antes de informar os caracteres de formato. Abaixo seguem alguns formatos aceitos:
Especificação | Descrição |
---|---|
%d | Dia do mês numérico(00..31) |
%D | Dia do mês com sufixo (em Inglês) |
%m | Mês, numérico(00..12) |
%M | Nome do Mês(em Inglês) |
%y | Ano, numérico (dois dígitos) |
%Y | Ano, quatro dígitos numéricos |
No site oficial do MySQL existe uma tabela com vários outros formatos aceitos, inclusive formatos do tipo time, para formatar horas, minutos e segundos.
Outra função muito útil é a “EXTRACT()”, com ela podemos extrair várias informações sobre a data passada como parâmetro. Para usar a função “EXTRACT()” temos que passar 2 parâmetros:
- Tipo de informação que desejamos que a função retorne: DAY(Dia), MONTH(Mês) e YEAR(Ano) entre outros.
- Data que será extraída as informações.
Nesse exemplo vou fragmentar a data retornada pela função CURDATE() em dia , mês e ano.
SELECT EXTRACT(DAY FROM CURDATE()) AS DIA, EXTRACT(MONTH FROM CURDATE()) AS MES, EXTRACT(YEAR FROM CURDATE()) AS ANO;
Agora vamos adicionar uma determinada quantidade de dias para uma determinada data, nesse caso estamos sempre capturando a data atual do servidor. Vamos usar a função “DATE_ADD()” que recebe dois parâmetros, o primeiro é a data à qual desejamos acrescentar os dias e o segundo é a quantidade de dias que prentendemos adicionar. No segundo parâmetro usamos além da quantidade de dias, duas palavras reservadas “INTERVAL <Quantidade de dias> DAY”. Nesse exemplo vou adicionar 30 dias na data “2012-08-21”.
SELECT DATE_ADD(CURDATE(), INTERVAL 30 DAY));
No próximo exemplo vou demosntrar a função “DATEDIFF()”, com ela podemos encontrar a diferença em dias entre duas datas através da subtração. Essa função recebe as duas datas que desejamos subtrair como parâmetros.
SELECT DATEDIFF('2012-08-21', '2012-08-05');
Observação: notem que as datas são informadas no padrão americano, YYYY-MM-DD com separador “-“, de outro modo não funciona.
Podemos também encontrar a diferença entre duas datas em meses, usando a função “PERIOD_DIFF()” e passando duas datas no formato “YYMM” ou “YYYYMM” como parâmetro, não é aceito o uso de separadores “-“.
SELECT PERIOD_DIFF(‘201212’, ‘201208’);
Para finalizar, vou demonstrar a função “DAYOFYEAR()”, ela retorna o dia do ano (1-366), temos que passar uma data no formato YYYY-mm-dd como parâmetro.
SELECT DAYOFYEAR(‘2012-08-21’);
Bom pessoal, neste artigo demonstrei apenas algumas das várias funções que o MySQL oferece para se manipular datas, infelizmente para demonstrar todas as funções seriam necessários vários artigos. Para o leitor que tiver a curiosidade de conhecer todas ou a maioria, visite o site: Site MySQL. Esse artigo foi baseado no manual da versão 5.5 do MySQL, em versões anteriores existe a possiblidade de algumas dessas funções não funcionarem.
Espero que tenham apreciado e até a próxima.
Links Úteis
- Manual do PHP:
Site oficial do PHP - MYSQL:
Site Oficial do Mysql - PHP no Wikipedia:
Mais informações sobre o Wikipedia
Saiba mais sobre Mobile ;)
-
Tutorial de MySQL:
Conheça desde o básico até o avançado no MySQL, entenda suas funções e como suas aplicações podem decolar com este banco de dados. -
PHP: Declaração e atribuição
de variáveis:
Neste documento você encontrará o conteúdo que precisa para aprender a declarar e utilizar variáveis na linguagem PHP. É por meio das variáveis que conseguimos guardar os dados em memória e acessá-los quando necessário. -
Serialização: como
funciona o processo no PHP:
Serialização tem como principal objetivo transformar um objeto em uma forma binária ou em formato de texto para poder transmiti-lo via rede ou armazenar seu conteúdo sem perda de dados. Veja como funciona o processo de serialização no PHP.
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo