Funkcje PostgreSQL

Funkcje PostgreSQL
PostgreSQL to potężny i łatwy w użyciu system zarządzania bazą danych, który zapewnia bezpieczne, szybkie i bardzo intuicyjne funkcje, umożliwiając skupienie się na danych, a nie na składni zapytania.

Jednym ze sposobów PostgreSQL jest bardzo łatwe jego użycie, jest funkcjonalność funkcji wstępnie zdefiniowanych. Funkcje te pozwalają je wywołać i przekazać wymagane argumenty, aby uzyskać wyjście.

W tym poście podamy ściągę najczęstszych funkcji PostgreSQL, a nawet pokażemy, jak zdefiniować niestandardowe.

Funkcje matematyczne

Pierwszą kategorią funkcji postgresql są funkcje matematyczne. Pozwala to wykonywać operacje matematyczne do przekazanych argumentów.

Funkcjonować Funkcjonalność
ABS (x) Zwraca bezwzględną wartość x
Liczba Pi() Zwraca stałą wartość PI
sqrt (x) Zwraca pierwiastek kwadratowy x
mod (x, y) Zwraca wartość modulo x i y
trunc (x) Ściska X do 0
exp (x) Zwraca wartość wykładniczą x
losowy() Zwraca losowe wartości między 0 a 1.0
pow (a, b) Podnieś A do siły B
czynnik (x) Zwraca wartość czynnikową x
LN () Logarithim naturalny

To są popularne funkcje matematyczne, których można użyć w zapytaniach PostgreSQL.

Funkcje agregatów

Innym zestawem standardowych funkcji PostgreSQL są funkcje agregowane. Tego rodzaju funkcje wykonują akcję na zbiorze wartości i zwracają jeden wynik.

Popularne funkcje agregatów PostgreSQL obejmują:

Funkcjonować Funkcjonalność
AVG () Zwróć średnią średnią dla zestawu wartości
min () Minimalna wartość dla danego zestawu wartości.
Max () Maksymalna wartość dla danego zestawu wartości
suma() Suma wartości wejściowych
liczyć() Liczba wierszy dla wartości nie-zerowych
liczyć(*) Zwraca liczbę wierszy wejściowych

Funkcje ciągów

W PostgreSQL funkcje ciągów są odpowiedzialne za manipulowanie wartościami ciągu i zwracanie wartości.

Wspólne funkcje ciągów obejmują:

Funkcjonować Funkcjonalność
niżej() Przekształca ciąg wejściowy w małe litery
górny() Przekształca ciąg wejściowy na wielki
char_length () Zwraca liczbę znaków w ciągu
|| Łączy sznur po lewej stronie z sznurkiem po prawej stronie
bit_length () Liczba bitów w ciągu
odwracać() Odwróć ciąg wejściowy
powtarzać() Powtórz przekazany ciąg określonej liczby razy.

Funkcje daty i godziny

Jak sama nazwa wskazuje, funkcje godziny i daty działają z datami daty i godziny.

Wspólne funkcje obejmują:

Funkcjonować Funkcjonalność
Teraz() Zwraca bieżącą datę i godzinę
Obecny czas() Bieżąca pora dnia
bieżąca data() Zwraca bieżącą datę
wiek() Zwraca wynik symboliczny w formie roku, miesiąca i dnia z bieżącej daty
wyciąg() Wyodrębnij podffield ze znacznika czasu

Funkcje geometryczne

Funkcje geometryczne wykonują operację geometryczną na przekazanym zestawie wartości. Chociaż możesz nie być używany tak często, są one przydatne.

Wspólne przykłady takich funkcji obejmują:

Funkcjonować Funkcjonalność
obszar Zwraca obszar obiektu.
średnica Zwraca średnicę koła
długość Zwraca długość ścieżki
pudełko (okrąg) Konwertuj koło na pudełko
pudełko (punkt) Konwertuj punkt na puste pudełko
Ścieżka (wielokąt) Konwertuj Polygon na ścieżkę
wielokąt (ścieżka) Konwertuj ścieżkę na wielokąta

Funkcje adresu sieciowego

Funkcje sieciowe są przydatne podczas pracy z typami INET i CIDR. Wspólne funkcje obejmują:

Funkcjonować Funkcjonalność
gospodarz (INET) Zwraca adres IP jako tekst
Masklen (INET) Zwraca długość maski sieci
Sieć (INET) Zwraca część sieci adresu
rodzina (INET) Wyodrębnij rodzinę adresu
Mash () Zwraca maskę sieciową na adres
INET_SAME_FAMILY (INET, INET) Zwraca prawdziwe, jeśli oba adresy INET są samą rodziną

Powyższe funkcje są ułamkiem funkcji obsługiwanych przez PostgreSQL.

Jak tworzyć funkcje użytkownika PostgreSQL

Istnieje kilka przypadków, w których musisz utworzyć funkcję niestandardową. PostgreSQL umożliwia tworzenie takich funkcji z nazwami, parametrami i typami zwrotnymi.

Aby utworzyć funkcję w PostgreSQL, użyj instrukcji Utwórz funkcję.

Ogólna składnia do tworzenia funkcji niestandardowej jest jak pokazano.

Utwórz nazwę funkcji (Paramaters)
Zwraca data_type;
Language procedural_language_type;
JAK
$$
OGŁOSIĆ
-- Dokonaj tutaj swoich zmiennych
ZACZYNAĆ
-- kod, co robi funkcja
KONIEC
$$

Rozbijmy powyższą składnię krok po kroku.

  1. Zaczynamy od użycia Utwórz funkcję stwierdzenia, po których następuje nazwa funkcji. Nazwa funkcji może być czymś znaczącym.
  2. Następnie przekazujemy parametry funkcji wewnątrz pary nawiasów. Liczba parametrów może wynosić od 0 do nieskończoności.
  3. Wewnątrz bloku funkcyjnego (wskazanego przez wgłębienie, chociaż nie jest to wymagane), używamy POWRÓT Słowo kluczowe, a następnie typ danych, który zwraca funkcja.
  4. Następna część określa język proceduralny funkcji, z których najczęstszym jest PLPGSQL. Inne funkcje proceduralne PostgreSQL obejmują PLTCL, PLPERL, PLPYTHON.
  5. Na koniec używamy symbolu znaku podwójnego dolara, aby zainicjować funkcję. W tym miejscu deklarujemy zmienne i logikę funkcji umieszczoną w blokach początkowych i końcowych.

Możesz dowiedzieć się więcej o językach proceduralnych PostgreSQL z linków podanych poniżej:

  1. PLPGSQL - Język proceduralny SQL
  2. Pltcl - Język proceduralny TCL
  3. Plperl - Język proceduralny perl
  4. PLPYTHON - Język proceduralny Python
  5. Zewnętrzny PL - Inne PL zewnętrzne dystrybucję postgreSQL

WSKAZÓWKA: Funkcje niestandardowe w PostgreSQL są ściśle podobne do procedur. Jednak w przeciwieństwie do procedur funkcje zwracają wartość.

Przykład funkcji niestandardowej

Zilustrujmy prostą funkcję, która pobiera liczbę elementów pasujących do prostego kryterium.

Weźmy na przykład bazę danych Sakila. Możemy uzyskać liczbę filmów, których wartość wynajmu wynosi od 2 do 4 dolarów.

Prosta funkcja to:

Utwórz funkcję get_films (x int, y int)
Zwraca int
Język PLPGSQL
JAK
$$
OGŁOSIĆ
liczba liczbowa num_films;
ZACZYNAĆ
Wybierz liczbę (*)
Do NUM_FILMS
Z filmu
Gdzie wynajem_rate między x i y;
Return num_films;
KONIEC;
$$

Po ogłoszeniu funkcji możemy ją nazwać i przekazać wartości jako:

Wybierz get_films (2, 4) jako numer_of_films;

Po uruchomieniu powyższego zapytania powinniśmy uzyskać liczbę filmów pasujących do powyższych kryteriów.

W większości przypadków nie będziesz musiał definiować takich funkcji, ponieważ istnieją inne prostsze wbudowane metody wykonania takiego zadania. W takim przypadku powyższa funkcja ilustruje, jak pracować z funkcjami.

Wniosek

W tym samouczku zilustrowaliśmy wspólne funkcje PostgreSQL, aby pomóc w wydajniejszym wykonywaniu zadań. Na koniec pokazaliśmy, jak tworzyć i korzystać z funkcji dla niestandardowych wymagań.

Dziękuję za przeczytanie i szczęśliwe eksperymentowanie!