Introdução ao SQL - Data e Hora

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (1)  (0)

Veja nesta quick como manipular data e hora direto no SQL.


Quando criamos colunas com tipo de dado Data, podemos realizar uma série de cálculos e operações cronológicas. Podemos calcular o número de dias entre duas datas, somar e subtrair dias, meses e etc.

            O padrão SQL especifica quatro tipos de dados relacionados a data e hora:

 

Tipo

Descrição

DATE

Apenas data

TIME

Apenas Hora

TIMESTAMP

Data e Hora

INTERVAL

Intervalo entre os dois tipos de dados anteriores

 

            O padrão SQL definiu algumas funções para determinar a data e/ou hora atuais do sistema, acrescentando CURRENT_ antes dos três primeiros tipos anteriores: CURRENT_DATE, CURRENT_TIME E CURRENT_TIMESTAMP. Em alguns bancos de dados são utilizadas as mesmas funções, sem o ( _ ).

 

Para sabermos quais vendas lançadas no dia de hoje, execute:

 

SELECT * FROM TABELA

WHERE   DATAVENDA = CURRENT_DATE;

 

Operações aritméticas com datas

 

Um coluna do tipo data é composta de seis elementos:

 

a

Year (ano)

b

Month (Mês)

c

Day (dia)

d

Hour (hora)

e

Minute (minuto)

f

Second (segundo)

 

            A manipulação de datas e os cálculos que podem ser feitos dependem e variam muito em função do banco de dados utilizado. Convém consultar a documentação do seu banco de dados para certificar-se de como utilizá-la.

 

            Dessa forma, é possível realizar operações como encontrar o intervalo de dias entre duas datas:

 

SELECT CURRENT_DATE,  DATAVENDA, CURRENT_DATE – DATAVENDA DIFERENCA FROM TABELA;

 

Adicionar dias em uma data (nos exemplos a seguir, acrescentam-se 7 dias da data de vendas);

 

SELECT DATAVENDA + 7 FROM TABELA;

 

            Podemos também fazer comparações com data, suponhamos que quisesermos todas vendas de hoje:

 

SELECT NOME, DATAVENDA FROM TABELA

WHERE DATAVENDA = CURRENT_DATE;

 

Queremos todos os registros entre o intervalo de 01-01-2000 até hoje;

 

SELECT NOMNE, DATAVENDA FROM TABELA

WHERE DATAVENDA BETWEEN ’01-01-2000’ AND CURRENT_DATE;

 

 

Trabalhando com Horas

 

            Podemos também fazer comparações com hora, suponhamos que quisesermos o todos os registros entre a hora 08:00:00 até 20:00:00;

 

SELECT HORAINI, HORAFIM FROM TABELA

WHERE HORAINI BETWEEN ’08:00:00’ AND CURRENT_TIME;

 

 

            Podemos extrair a diferença entre horas, veja o exemplo;

 

SELECT HORAINI, HORAFIM, HORAFIM - HORAINI DIFERENCA FROM TABELA;

 

EXTRACT

 

            Essa função extrai e retorna um valor de um campo do tipo data. É possível extrair apenas o dia, o mês, o ano, a hora, o minuto ou o segundo.

 

Veja exemplos:

 

Extraindo o mês:

 

SELECT EXTRACT (MONTH FROM DATE ‘2005-09-29’ FROM TABELA;

 

Extraindo o Dia:

 

SELECT EXTRACT (DAY FROM DATE ‘2005-09-29’ FROM TABELA;

 

Extraindo o ano:

 

SELECT EXTRACT (YEAR FROM DATE ‘2005-09-29’ FROM TABELA;

 

Conclusão: Podemos perceber que não há segredo para trabalharmos com data e hora, podemos fazer n pesquisas e extrair vários valores de uma data, como forma de aprendizado, sugiro a você a fazer vários testes em seu banco de dados. No próximo artigo, irei mostrar como pesquisar em múltiplas tabelas. Até lá.


 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?