PostgreSql - extrair parte de uma data com extract
Tecnologia da Informação

PostgreSql - extrair parte de uma data com extract


A função extract extrai parte de uma data ou intervalo.
Ela é equivalente a função date_part.
Vamos descrever 3 exemplos com a função extract.

Caso tenha interesse faça download dos exemplos ou veja no GitHub.

1º Exemplo: vamos extrair partes da data da coluna "data_exame" da tabela "tb_exame". A tabela contém informações da realização de exames em um laboratório.


Solução
extract(parte_da_data from nome_da_coluna)

A sentença abaixo apresenta alguns argumentos que podem ser passados na função extract.

SELECT
paciente_id,
data_exame,
/*exibe o dia do exame*/
extract(day from data_exame) AS dia,
/*exibe o mês do exame*/
extract(month from data_exame) AS mes,
/*exibe o ano do exame*/
extract(year from data_exame) AS ano,
/*exibe a hora do exame*/
extract(hour from data_exame) AS hora,
/*exibe o minuto do exame*/
extract(minute from data_exame) AS minuto,
/*exibe o segundo do exame*/
extract(second from data_exame) AS segundo,
/*exibe os dias da semana que são representados por números inteiros de 0 até 6
 *0 - domingo, 1 - segunda e assim sucessivamente até 6 - sábado
 */

extract(dow from data_exame) AS int_semana
FROM tb_exame;

Após a execução da sentença acima, temos o resultado exibido na imagem abaixo:


Segue uma breve descrição, de outros argumentos que podem ser passados na função extract:
2º Exemplo: queremos saber quantos exames foram feitos por ano.


Solução: precisamos agrupar as datas por ano, logo vamos passar o "year" para a função "extract".

SELECT
extract(yearfrom data_exame) AS ano,
/*A função COUNT faz a contagem*/
COUNT(*) AS quantidade
FROM tb_exame
/*Agrupa por ano*/
GROUP BY ano
/*Ordena por ano em ordem crescente*/
ORDER BY ano;

Após a execução da sentença acima, podemos visualizar o resultado na imagem abaixo:



3º Exemplo: Verifique quais são os funcionários aniversariantes do dia. Para fazer esta verificação vamos utilizar a tabela "tb_funcionarios", veja a imagem abaixo.

tb_funcionario
Solução: precisamos comparar o mês e o dia da data atual com o mês e o dia da data de nascimento do funcionário. Para retornar a data atual é necessário utilizar a função CURRENT_DATE. Quando fiz esta consulta era 28/03/2014.

SELECT CURRENT_DATE


Agora que já sabemos como retornar uma data do dia atual, vamos fazer a consulta para exibir quais são os aniversariantes do dia.

SELECT
func_codigo,
func_nome,
func_data_nascimento
FROM tb_funcionarios
WHERE
/*Verifica se o dia do aniversário é igual ao dia atual*/
EXTRACT (DAY FROM func_data_nascimento)  =  EXTRACT (DAY FROM CURRENT_DATE)
/*
*Operador lógico AND (E) seleciona um registro, somente se, as duas condições forem satisfeitas, ou seja se o dia e o mês da data de nascimento forem iguais ao dia e o mês da data atual.
*/
AND
/*Verifica se o mês do aniversário é igual ao mês atual*/
EXTRACT (MONTH FROM func_data_nascimento) =  EXTRACT (MONTH FROM CURRENT_DATE);

Após a execução da consulta acima, teremos o resultado exibido na imagem a seguir.



Deixe o seu comentário. Suas sugestões ou críticas serão bem-vindas.



loading...

- Mysql Sum - Soma
A função SUM retorna a soma de valores de uma coluna. SINTAXE SELECT SUM(nome_da_coluna) FROM nome_da_tabela; Para os 6 exemplos abaixo, utilizaremos a tabela "tb_fornecedor". Veja a imagem abaixo: Caso tenha interesse faça o download dos...

- Postgresql Avg - Média
A função AVG retorna a média de valores de uma coluna.  Serão descritos 6 exemplos de utilização desta função.  Caso tenha interesse faça o download dos exemplos ou veja os scripts no github. SINTAXESELECT AVG(nome_da_coluna)...

- Postgresql - Diferença Entre Datas
Neste post vamos apresentar 4 exemplos de como calcular a diferença entre datas. Caso tenha interesse, faça o download ou veja o script no Github. Para calcular a diferença entre duas datas, em dias, no postgresql utilizamos o operador aritmético...

- Mysql - Extrair Data Com Extract
A função extract extrai parte de uma data ou intervalo. Vamos descrever 3 exemplos com a função extract. 1º Exemplo: vamos extrair partes da data da coluna "data_exame" da tabela "tb_exame". A tabela contém informações da realização...

- Postgresql Sum - Soma
A função SUM retorna a soma de valores de uma coluna. SINTAXE SELECT SUM(nome_da_coluna) FROM nome_da_tabela; Para os 6 exemplos abaixo, utilizaremos a tabela "tb_fornecedor". Veja a imagem abaixo: 1º Exemplo Cenário: um funcionário quer...



Tecnologia da Informação








.