DATEDIFF POSTGRESQL

DATEDIFF POSTGRESQL
A função datediff é a maior instalação fornecida pelo PostgreSQL para o novo usuário. É usado para fornecer a diferença entre duas datas fornecidas pelo usuário. Esta função desempenhou um papel importante nos sistemas de gerenciamento de banco de dados, especificamente no PostGresql, pois atua como um calendário. Estamos familiarizados em inserir um registro em qualquer sistema de gerenciamento de banco de dados, por isso devemos também saber a relação dos dados inseridos com a data. Porque sempre que vamos adicionar dados em nosso sistema, sua data e hora são salvas e que a informação salva é útil em termos futuros. Da mesma forma, os dados armazenados no sistema também contêm as informações de data da entidade, cujos atributos são salvos por datas, i i.e., Data de nascimento, último dia na escola, etc. Essas informações de qualquer funcionário ou aluno ajudam a organização a lidar com o registro do tempo em que o aluno/ funcionário passou nessa organização em particular.

Ao usar o datediff, podemos estar cientes da próxima data, datas anteriores e similares é o caso de dias e semanas. Este artigo é baseado em algum uso básico dessa função e o leva às diferenças de semanas e meses. Você precisa instalar o PostgreSQL com o banco de dados no estado de trabalho. Podemos aplicar esses comandos em pgadmin e no psql também. Aqui escolhemos o PSQL para a realização desta função.

Vamos começar com a sintaxe da função datediff que usaremos mais adiante no artigo.

# selecione DATDEFF function () Date1, intervalo Date2;

Intervalo é a diferença entre as duas datas que fornecemos no comando.

Função agora ()

Agora, movendo -se em direção à primeira e acima de tudo da função datediff. É uma função agora (). Tudo o que você precisa é escrever, e ele fará o resto na recuperação da data e da hora atual de escrever o comando.

>> selecione agora ();

Este comando dá a data e a hora com segundos e os detalhes dos registros de data e hora com o fuso horário.

Função “hora atual do dia”

A hora, data e dia atuais são conhecidos usando esta função aqui.

>> selecione TimeOfday ();

A função do trimestre ()

Um ano contém 3 quartos nele. A partir do comando atual, conhecemos a parte do trimestre da data atual. Como hoje é 30 de agosto, significa que a data atual estará no 3º trimestre.

>> selecione Extract (trimestre a partir de agora ());

A nova peça determinará a data e a função restante calculará a parte do trimestre.

Dias se passaram até agora

Esta função extrai o número de dias que passaram até agora de acordo com a data atual. O 'DOY' calculará o dia atual a partir da função agora () e exibirá como uma saída.

>> Selecione Extrato (Doy a partir de agora ());

Dia atual da semana

Também podemos calcular o número do dia atual na semana. A função funciona para extrair os dados do sistema, o que já foi feito até a função () para saber o dia atual da semana. Por exemplo, se for segunda -feira, o número do dia será 1, 2 para terça -feira, e assim por diante. O número do dia de domingo é definido como '0' por padrão pelo sistema.

>> Selecione Extrato (Dow a partir de agora ());

Agora também temos uma alternativa para os cálculos desses dias/meses. Por exemplo, podemos substituir 'Extrair' por 'date_part'. O comando funciona da mesma forma, e o resultado pode ser comparado com os exemplos acima. Podemos implementar todos os exemplos anteriores com esta palavra -chave também.

>> selecione Date_Part ('Doy', agora ());

Então esses foram alguns exemplos básicos. Agora vamos nos mudar para as funções datediff e veremos que está funcionando.

diferença de anos

A diferença entre dois anos específicos pode ser calculada usando a palavra -chave "date_part". Mas a sintaxe é bem diferente de outros exemplos. Date_Part é usado porque ocorre um erro se usarmos diretamente o "datdiff" no comando. Você precisa entrar na palavra -chave 'ano' no comando, seguindo a data atual ou a que você deseja fazer a diferença. Depois do operador menos, use a outra data que deve ser subtraída.

>> Selecione Date_Part ('Ano', '2021/04/01' :: Date) - Date_Part ('Ano', '1995/07/01' :: Date);

A diferença total do ano é 26.

diferença de dias

Ao contrário dos anteriores, este exemplo usou o registro de data e hora para calcular os dias entre duas datas com o tempo.

>> Selecione '2020-03-28 2:06:00' :: Timestamp-'2005-07-26 06:15:00' :: Timestamp;

O valor resultante exibe os dias totais e também a diferença no tempo. A diferença entre o tempo é calculada quando a diferença entre dois dias é conhecida através dos registros de data e hora na forma de dias. Nesse dia em particular, o tempo é calculado. Este cálculo é feito em formato 24 horas.

diferença de horas

Para determinar a diferença entre as horas, precisamos calculá -lo através de datas com um tempo de data e hora. Para levar horas como saída, multiplicaremos o valor por 24 e adicionaremos o valor com o resultante de todos os cálculos.

>> Selecione Date_Part ('Dia', '2021-09-22 04:05' :: Timestamp-'2000-09-2 03:14' :: Timestamp) * 24+ Date_Part ('hora', '2020-07 -28 07:55 ':: Timestamp-' 2020-07-28 08:05 ':: Timestamp);

Portanto, o resultado exibe o valor em horas.

meados do mês

Isso pode ser obtido subtraindo o número de 17 números
.

>> Selecione Date_trunc ('mês', agora ()) + '1 mês' :: intervalo - '17 dias ':: intervalo como mid_months;

Datediff usando uma tabela em PostgreSQL

Até agora, passamos por meio do básico da diferenciação de data e alguns exemplos de datediff também. Mas agora, essa parte é de alguma forma extensa, pois inclui o envolvimento da tabela no banco de dados.

Crie a tabela "Baby" usando o comando CREATE DADO. A tabela contém os dados de uma criança. Tomamos duas datas na forma de birth_date e descarregamento_date.

Depois de criar a tabela, insira os dados usando a consulta de inserção que você pode ver na imagem anexada aqui.

Voltando ao tópico, pois estamos tentando obter a diferença nas datas, calcularemos a idade do bebê usando uma única entrada 'nascer -birth_date', valor da coluna da tabela.

>> Selecione ID, First_Name, Last_Name, Age (BIRNHT_DATE) do bebê;

Esta consulta criará outra coluna, 'Age', para calcular a idade, tomando as datas de cada criança. A idade é um método de cálculo interno no PostgreSQL. A diferença é calculada a partir da data atual até a idade fornecida na tabela.

Movendo -se em direção a outro semelhante, mas diferente ao receber informações para a função de idade. Aqui usamos o birth_date e o descarregamento como a entrada. Todas as outras coisas permanecem as mesmas no comando

>> Selecione ID, First_Name, Last_Name, Age (descarregamento_date, birt_date) do bebê;

Você pode observar o resultado da imagem fornecida.

Conclusão

Datediff é uma maneira significativa de obter a história de qualquer tarefa ou pessoa. Não é usado diretamente, mas tem muitos sabores para usar com idade, meses, ano e segundo, etc., a ser calculado. Este artigo lança luz sobre cada aspecto do datediff PostgreSQL.