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
.
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.