Datediff Postgresql

Datediff Postgresql
Funkcja Datediff to największy obiekt dostarczany przez PostgreSQL dla nowego użytkownika. Służy do zapewnienia różnicy między dwiema datami przez użytkownika. Ta funkcja odegrała ważną rolę w systemach zarządzania bazami danych, szczególnie w PostgreSQL, ponieważ działa jako kalendarz. Znamy wprowadzanie rekordu w dowolnym systemie zarządzania bazą danych, dlatego powinniśmy również znać relację danych wprowadzonych z datą. Ponieważ ilekroć będziemy dodawać dane w naszym systemie, jego data i godzina są zapisywane, a zapisywanie informacji są przydatne w przyszłych kategoriach. Podobnie, przechowywane dane w systemie zawierają również informacje o daty jednostki, których atrybuty są zapisywane według dat, i.mi., data urodzenia, ostatni dzień w szkole itp. Ta informacja każdego pracownika lub studenta pomaga organizacji w radzeniu sobie z zapisem czasu, w którym student/ pracownik uchwalił w tej konkretnej organizacji.

Korzystając z Datediff, możemy być świadomi następnej daty, poprzednie daty i podobne są w przypadku dni i tygodni. Ten artykuł oparty jest na pewnym podstawowym użyciu tej funkcji i prowadzi ją do różnic tygodni i miesięcy. Musisz zainstalować PostgreSQL z bazą danych w stanie roboczym. Możemy również zastosować te polecenia zarówno na PGADMIN, jak i PSQL. Tutaj wybraliśmy PSQL do wykonania tej funkcji.

Zacznijmy od składni funkcji Datediff, której użyjemy później w artykule.

# Wybierz Datediff Function () DATE1, DATA MATE2;

Interwał to różnica między dwiema datami, które dostarczamy w poleceniu.

Funkcja teraz ()

Teraz zmierzanie w kierunku pierwszej i najważniejszej części funkcji Datediff. To jest funkcja teraz (). Wszystko, czego potrzebujesz, to napisać to, a resztę zrobi datę i bieżącą czas pisania polecenia.

>> Wybierz teraz ();

To polecenie daje datę i godzinę z sekundami i szczegółami znaczników czasu z strefą czasową.

Funkcja „bieżąca pora dnia”

Obecna godzina, data i dzień są znane przy użyciu tej funkcji tutaj.

>> Wybierz Timeofday ();

Funkcja Quarter ()

Rok zawiera 3 kwartały. Z bieżącego polecenia dowiemy się o ćwierć części bieżącej daty. Ponieważ dzisiaj jest 30 sierpnia, oznacza to, że obecna data będzie leży w trzecim kwartale.

>> Wybierz Extract (kwartał od teraz ());

Nowa część określi datę, a następnie funkcja odpoczynku obliczy część kwartału.

Dni minęły do ​​tej pory

Ta funkcja wyodrębnia liczbę dni, które minęły do ​​tej pory zgodnie z bieżącą datą. „DOY” obliczy bieżący dzień z funkcji Now () i wyświetli go jako wyjście.

>> Wybierz wyciąg (DOY od teraz ());

Bieżący dzień w tygodniu

Możemy również obliczyć bieżący numer dnia w tygodniu. Funkcja działa w celu wyodrębnienia danych z systemu, która jest teraz wykonywana (), aby poznać bieżący dzień tygodnia. Na przykład, jeśli jest poniedziałek, numer dzień wyniesie 1, 2 na wtorek i tak dalej. Dzień niedzieli jest domyślnie ustawiony jako „0”.

>> Wybierz Extract (Dow od teraz ());

Teraz mamy również alternatywę dla obliczeń tych dni/miesięcy. Na przykład możemy zastąpić „wyodrębnienie” na „date_part”. Polecenie działa tak samo, a wynik można porównać z powyższymi przykładami. Możemy również zaimplementować wszystkie poprzednie przykłady z tym słowem kluczowym.

>> Wybierz date_part („doy”, teraz ());

To były podstawowe przykłady. Teraz przejdziemy do funkcji Datediff i zobaczymy, jak działa.

różnica lat

Różnicę między dwoma konkretnymi latami można obliczyć za pomocą słowa kluczowego „DATE_PART”. Ale składnia różni się od innych przykładów. DATE_PART jest używany, ponieważ występuje błąd, jeśli bezpośrednio użyjemy „datediff” w poleceniu. Musisz wprowadzić słowo kluczowe „rok” w poleceniu, zgodnie z bieżącą datą lub tym, który chcesz coś zmienić. Następnie po operatorze minus użyj drugiej daty, która ma zostać odjęta.

>> Wybierz date_part („rok”, „2021/04/01” :: Data) - Date_part („rok”, „1995/07/01” :: data);

Całkowita różnica roku wynosi 26.

różnica dni

W przeciwieństwie do poprzednich, ten przykład wykorzystał znacznik czasu do obliczenia dni między dwiema datami z czasem.

>> Wybierz „2020-03-28 2:06:00” :: Mimestamp-„2005-07-26 06:15:00”:

Wynikająca wartość wyświetla łączne dni, a także różnicę w czasie. Różnica między czasem jest obliczana, gdy różnica między dwoma dniami jest znana przez znaczniki czasu w postaci dni. W tym konkretnym dniu obliczany jest czas. To obliczenia odbywa się w formacie 24 -godzinnym.

różnica godzin

Aby określić różnicę między godzinami, musimy ją obliczyć na podstawie dat z czasem czasu. Aby poświęcić godziny jako wyjście, pomnożymy wartość przez 24 i dodamy wartość z wynikową wszystkich obliczeń.

>> Wybierz Date_Part („Day”, „2021-09-22 04:05” :: Mimestamp-„2000-09-2 03:14” :: Mimaestamp) * 24+ Date_Part („Hour”, „2020-07 -28 07:55 ':: Mimestamp-„2020-07-28 08:05” :: Timestamp);

Stąd wynik wyświetla wartość w godzinach.

W połowie miesiąca

Można to uzyskać, odejmując liczbę od 17 liczb
.

>> Wybierz date_trunc („miesiąc”, teraz ()) + „1 miesiąc” :: interwał - '17 dni ':: interwał jako mid_months;

Datediff za pomocą tabeli w PostgreSQL

Do tej pory przeszliśmy poprzez podstawy różnicowania daty i kilka przykładów datediff. Ale teraz ta część jest w jakiś sposób obszerna, ponieważ obejmuje zaangażowanie tabeli w bazie danych.

Utwórz tabelę „dziecko” za pomocą podanego polecenia Utwórz. Tabela zawiera dane dziecka. Wzięliśmy dwie daty w postaci datu porodowego i rozładowania.

Po utworzeniu tabeli wstaw dane za pomocą zapytania Wstaw, które można zobaczyć z dołączonego obrazu tutaj.

Wracając do tematu, ponieważ staramy się uzyskać różnicę w datach, obliczymy wiek dziecka, używając jednego wejścia „Birth_date”, wartości kolumny z tabeli.

>> Wybierz ID, First_name, Last_name, Age (Birth_Date) od dziecka;

To zapytanie utworzy kolejną kolumnę „Wiek”, aby obliczyć wiek, biorąc datę każdego dziecka. Wiek to wbudowana metoda obliczania w PostgreSQL. Różnica jest obliczana od bieżącej daty do wieku podanego w tabeli.

Przechodząc do innego podobnego, ale innego w przyjmowaniu danych wejściowych dla funkcji wieku. Tutaj używamy zarówno datowania_nodzyntu, jak i rozładowania jako danych wejściowych. Wszystkie inne rzeczy pozostają takie same w poleceniu

>> Wybierz identyfikator, pierwsza nazwa_nazwa, nazwa last_name, wiek (dissald_date, nrd_date) od dziecka;

Możesz zaobserwować wynik z danego obrazu.

Wniosek

Datediff to znaczący sposób na zdobycie historii każdego zadania lub osoby. Nie jest używany bezpośrednio, ale ma wiele smaków do użycia z podobnym wiekiem, miesięcy, roku i drugim itp., do obliczenia. Ten artykuł rzuca światło na każdy aspekt Datediff PostgreSQL.