Po prostu używamy polecenia Wybierz z tym słowem kluczowym, aby wyświetlić bieżącą datę. Current_date jest pobierany z systemu, w którym konfigurowana jest baza danych PostgreSQL. Więc użyjemy tego polecenia, aby zobaczyć datę na razie. PostgreSQL postępuje zgodnie ze standardowym formatem daty. To jest „JYYY-MM-DD”.
>> Wybierz current_date;Teraz dodamy jeden dzień do bieżącej daty. Interwał to typ danych, który manipuluje danymi w postaci dni, miesięcy, tygodni. itp. W ten sposób znacznik czasu wyświetli datę bez strefy czasowej. Wyświetlany jest tylko format na czas wraz z bieżącą datą.
>> Wybierz current_date + interwał „1 dzień”;Jak wspomnialiśmy powyżej, obecna data to 19 lutego, więc oprócz jednego dnia w bieżącym dniu, stanie się 20-02-2022.
Podobnie, jeśli po prostu dodamy dni w bieżącą datę bez użycia słowa „interwał” wyświetli tylko datę.
>> Wybierz current_date + 4;Zgodnie z wynikową wartością widać, że wyświetlana jest tylko data po 4 dniach. Teraz, jeśli dodamy interwał słowa kluczowego w tym samym powyższym poleceniu, wynikowa wartość zostanie wyświetlona ponownie wraz ze strefą czasową.
Zamiast używać słowa kluczowego „current_date”, użyjemy bezpośrednio daty, do której chcemy dodać dni. Z interwałem słowa kluczowego zostanie dodane 7 dni.
>> Wybierz „2002-06-27” :: Data + interwał „7 dni”;To doda 7 dni do 27 czerwca. W ten sposób miesiąc zostanie zmieniony i przeniesiony na lipiec.
Do tej pory widzieliśmy format prostych dat i dodanie dni w dniu. Ale teraz zobaczymy dodanie dni w datach obecnych w tabeli. Tabela o nazwie „Date_Days” jest tworzona z kolumnami posiadającymi identyfikatory elementów i daty wygaśnięcia produktu. Data jest wbudowaną funkcją PostgreSQL, więc będziemy postępować zgodnie z formatem daty podczas wprowadzania danych.
>> Utwórz tabelę dat_days (data serialu item_id, data Exiry_Date);Po utworzeniu tabeli dodamy teraz kilka danych, wkładając wiersze w tabeli.
>> Wstaw do date_days (Exiry_Date) Wartości („2020-04-01”), („2020-04-04”), ('2020-04-05'), ('2020-04-07'), ( „2020-04-08”), („20202-04-10”), („2020-04-11”), („20202-04-12”);Po włożeniu danych widać, że wyświetlany jest komunikat, że w tabeli wstawiono 8 wierszy. Nie wprowadziliśmy identyfikatorów w kolumnie Item_id, ponieważ wartości liczbowe są automatycznie generowane przez PostgreSQL.
Teraz zobaczymy rekord z instrukcji Select.
>> Wybierz * od dat_days;Kolumna Expiry_Date zostanie zmodyfikowana przez dodanie dni do dat w każdym rzędzie. Zastosowaliśmy tutaj warunek, w którym 10 dni zostanie dodanych do dat ważności produktów, które leżą w określonym zakresie, którego użyliśmy w poleceniu. Do modyfikacji użyliśmy polecenia aktualizacji; Nazwa kolumny, na którą ma mieć wpływ na słowo kluczowe „ustaw” w poleceniu aktualizacji. Ponadto do wyświetlania wszystkich zapisów tabeli służy do wyświetlania wszystkich zapisów tabeli, aby zobaczyć zmianę, którą zastosowaliśmy.
>> aktualizacja dat_days Set Exiry_Date = Exiry_Date + Interval '10 Day „Where Extirt_Date między„ 2020-04-01 ”i„ 2020-04-07 ”;Z wynikającej z tego wartości można zauważyć, że po wykonaniu daty między pierwszym kwietnia 2020 r. Do 7 kwietnia 2020 r. Będą wpływać 10 dni do ich obecnych dat w każdym rzędzie. Podczas gdy inne dane mające datki wyginięcia poniżej 1 kwietnia i powyżej 7 kwietnia pozostaną nienaruszone. Identyfikatory od 5 do 8 będą wyświetlane tak, jak jest. Podczas gdy ID od 1 do 4 będzie wyświetlany z dodatkiem 10 dni. Wszystkie te rzędy, na które ma wpływ polecenie, zostaną wyświetlane zbiorowo na końcu relacji.
Dodaj dni robocze do daty
Dodamy dni robocze do daty wspomnianej w poleceniu. PostgreSQL, zapewnij ten obiekt do bezpośrednio dodawania określonych wierszy. Dni robocze to dni robocze tygodnia od poniedziałku do piątku. To są 5 dni w tygodniu.
Widzieliśmy dodanie dni, używając liczby dni w poleceniu, ale teraz dodamy dni w dniu, używając dni roboczych.
z Business_Days As
(Wybierz datę_d, wyodrębnij (DOW od date_d) dzień_of_week
Z geneate_series („2022-02-10” :: data, „2022-02-27” :: Data, „4 dzień” :: interwał) data_d)
Wybierz date_d + interwał „2 dzień”, dzień_of_week
Z Business_Days
Gdzie day_of_week nie w (6,0);
Tabela tymczasowa jest tworzona z powyższego kodu, który ma dwie kolumny date_d i dzień_of_week. Korzystając z wbudowanej funkcji Postgres, Generating_series (), wygenerujemy daty między zakresem dwóch dat. I te daty będą przechowywane w kolumnie date_d.
Wewnątrz instrukcji wybranej z klauzulą, dzień tygodnia jest wyodrębniany za pomocą funkcji wyciągu (Dow z data_d) z kolumny date_d, a następnie te wyodrębnione daty będą przechowywane w drugiej kolumnie.
Druga instrukcja Select zawiera dodatek z odstępem 2 dni, dzień tygodnia od Business_Days. Zastosowaliśmy tutaj filtr, aby pobrać datę z kolumny daty, dodając 2 w każdym dniu, jakim jest dzień roboczy. I używając klauzuli, która wyświetli wszystkie dni, z wyjątkiem tych, które mają 6 lub 0.
Teraz zobaczymy pierwszą kolumnę z datami z dodaniem dwóch w każdym dniu. Jak zaczęliśmy od 10-02-2022, więc dodaj 2 w nim, stanie się 12; To właśnie zawiera pierwszy rząd. Z drugiej strony stosuje się 4 daty, więc stał się 16 do daty 27. Teraz mów o drugiej kolumnie, która jest day_of_week, która wyświetli numer dzień od 1 do 5, aby wyświetlić tylko dni robocze. Ponieważ pierwotna data wynosi 10, więc 10 lutego 2020 r., Jest czwartek i według liczby jest czwarty dzień tygodnia. Podobna logika jest stosowana do pozostałych wierszy.
Dodaj dzień za pomocą funkcji
Funkcja jest tworzona, aby dodać dni do daty. Ta funkcja przyjmie parametry przedziału dni, New_Date. I zwraca datę wywoływania funkcji. Logika zawiera instrukcję Select, która pokazuje nowy_date i dni, które mają zostać dodane.
Teraz nazwijmy funkcję.
>> Wybierz * z add_in_days (przedział „3 dzień”, „2021-07-04” :: data);Zwróci to datę dodania 3 dni do podanego daty.
Wniosek
Artykuł zawiera funkcję daty, w której dni są dodawane do określonych dat, bieżących dat lub tych, które są pisane przez użytkownika ręcznie. Zastosowaliśmy proste polecenia, a także na tabelach. Ta funkcja PostgreSQL pomaga użytkownikowi w manipulowaniu danymi poprzez zmianę dat w celu uzyskania zapisu określonej daty.