Postgres Adicionar dias até o momento

Postgres Adicionar dias até o momento
PostgreSQL usa um tipo de dados de data para armazenar valores na forma de datas. Este artigo lançará luz sobre a adição de dias às datas através de diferentes comandos no PostgreSQL.

Simplesmente usamos o comando select com esta palavra -chave para exibir a data atual. O current_date é buscado no sistema onde o banco de dados PostGresql está configurado. Então, usaremos este comando para ver a data por enquanto. PostgreSQL segue um formato padrão da data. Isso é 'AAAA-MM-DD'.

>> selecione current_date;

Agora vamos adicionar um único dia à data atual. O intervalo é um tipo de dados que manipula os dados na forma de dias, meses, semanas. etc. Ao fazer isso, o registro de data e hora exibirá a data sem o fuso horário. Somente o formato para o tempo é exibido junto com a data atual.

>> selecione current_date + intervalo '1 dia';

Como mencionamos acima, a data atual é de 19 de fevereiro, então, além de um dia no dia atual, ele se tornará 20-02-2022.

Da mesma forma, se simplesmente adicionarmos dias na data atual sem usar a palavra 'intervalo' exibirá apenas a data.

>> selecione current_date + 4;

Portanto, pelo valor resultante, você pode ver que apenas a data após 4 dias é exibida. Agora, se adicionarmos o intervalo de palavras -chave no mesmo comando acima, o valor resultante será exibido novamente junto com o fuso horário.

Em vez de usar a palavra -chave 'current_date', usaremos diretamente a data à qual queremos adicionar dias. Com o intervalo de palavra -chave, 7 dias serão adicionados.

>> selecione '2002-06-27' :: Data + Intervalo '7 Day';

Isso adicionará 7 dias ao dia 27 de junho. Ao fazer isso, o mês será alterado e mudou para julho.

Até agora, vimos o formato de datas simples e a adição de dias na data. Mas agora, veremos a adição de dias nas datas presentes na tabela. Uma tabela chamada 'date_days' é criada com as colunas com IDs de itens e as datas de validade do produto. A data é um recurso interno do PostgreSQL, por isso seguiremos o formato da data ao inserir dados.

>> Criar tabela Date_Days (item_id serial, expiry_date Data);

Depois de criar a tabela, agora adicionaremos alguns dados inserindo linhas na tabela.

>> Inserir em Date_days (Expiry_date) valores ('2020-04-01'), ('2020-04-04'), ('2020-04-05'), ('2020-04-07'), ( '2020-04-08'), ('20202-04-10'), ('2020-04-11'), ('20202-04-12');

Após a inserção de dados, você pode ver que uma mensagem é exibida de que 8 linhas são inseridas na tabela. Não inserimos IDs na coluna de Item_id, porque os valores numéricos são gerados automaticamente pelo PostgreSQL.

Agora veremos o registro da instrução SELECT.

>> Selecione * FROM DATE_DAYS;

A coluna Expiry_date será modificada adicionando dias às datas em cada linha. Aplicamos uma condição aqui em que 10 dias serão adicionados às datas de validade dos produtos que estão em uma faixa específica que usamos no comando. Para modificação, usamos um comando de atualização; O nome da coluna que deve ser afetado é mencionado após a palavra -chave 'conjunto' no comando de atualização. Além disso, uma instrução SELECT é usada para exibir todos os registros da tabela para ver a alteração que aplicamos.

>> ATUALIZAÇÃO DATE_DAYS SET EXPIRY_DATE = EXPIRY_DATE + INTERVAL '10 DIA 'onde expirt_date entre' 2020-04-01 'e' 2020-04-07 ';
>> Selecione * FROM DATE_DAYS;

A partir do valor resultante, você pode observar que, na execução, as datas entre o primeiro de abril de 2020 e 7 de abril de 2020 serão afetadas e 10 dias serão adicionados às suas datas atuais em cada linha. Enquanto outros dados com o Expiry_dates abaixo de 1º de abril e acima de 7 de abril permanecerão não afetados. Os IDs de 5 a 8 serão exibidos como é. Enquanto o ID de 1 a 4 será exibido com a adição de 10 dias. Todas as linhas afetadas pelo comando serão exibidas coletivamente no final da relação.

Adicione dias úteis à data

Adicionaremos os dias úteis à data mencionada no comando. PostgreSQL, forneça esta instalação para adicionar linhas especificadas diretamente. Os dias úteis são os dias úteis da semana a partir de segunda a sexta. Estes são 5 dias por semana.

Vimos a adição de dias usando o número de dias no comando, mas agora adicionaremos dias na data usando dias úteis.

Com Business_Days AS
(Selecione Date_D, Extract (Dow de Date_D) DIA_OF_WEEK
De Generate_series ('2022-02-10' :: Data, '2022-02-27' :: Data, '4 dias' :: interval) date_d)
Selecione DATE_D + ​​intervalo '2 dias', dia_of_week
De Business_Days
Onde dia_of_week não está em (6,0);

Uma tabela temporária é criada a partir do código acima que possui duas colunas date_d, e Day_of_week. Usando uma função interna do PostGres, generation_series (), geraremos datas entre uma faixa de duas datas. E essas datas serão armazenadas na coluna Date_D.

Dentro da declaração selecionada da cláusula, o dia de uma semana é extraído usando uma função de extrato (Dow de Date_D) da coluna Date_D, e essas datas extraídas serão armazenadas na outra coluna.

A segunda instrução SELECT contém a adição com o intervalo de 2 dias, dia da semana de Business_Days. Aplicamos um filtro aqui para buscar a data da coluna Data, adicionando 2 em cada data que é um dia útil. E usando uma cláusula onde exibirá todos os dias, exceto aqueles que são de 6 ou 0.

Agora veremos a primeira coluna com datas com a adição de dois em cada data. Como começamos de 10-02-2022, então adicione 2 nele, ele se tornará 12; É isso que a primeira linha contém essa data. Por outro lado, um intervalo de 4 datas é aplicado, por isso se tornou 16 até que a data 27 seja alcançada. Agora, falando sobre a segunda coluna que é Day_Of_Week que exibirá o número do dia de 1 a 5 para exibir apenas os dias úteis. Como a data original é 10, então, em 10 de fevereiro de 2020, é quinta -feira e, de acordo com a numeração, é o 4º dia da semana. Lógica semelhante é aplicada às linhas restantes.

Adicionar dia usando uma função

Uma função é criada para adicionar dias à data. Esta função levará parâmetros do intervalo de dias, new_date. E retorna a data em que chama a função. A lógica contém a instrução SELECT que mostra o new_date e os dias que devem ser adicionados.

Agora vamos chamar a função.

>> Selecione * de add_in_days (intervalo '3 dias', '2021-07-04' :: data);

Isso retornará a data de ter 3 dias adicionados à data fornecida.

Conclusão

O artigo contém a função de data, na qual são adicionados dias às datas especificadas, as datas atuais ou as que são escritas pelo usuário manualmente. Aplicamos comandos simples e também nas mesas também. Esse recurso do PostgreSQL ajuda o usuário a manipular dados, alterando as datas para buscar o registro de uma data específica.