Fungsi PostgreSQL

PostgreSQL adalah sistem manajemen basis data yang kuat dan mudah digunakan yang menyediakan fitur yang aman, cepat, dan sangat intuitif, memungkinkan Anda untuk fokus pada data dan bukan sintaks kueri.

Salah satu cara PostgreSQL membuat userannya sangat mudah adalah fungsionalitas fungsi yang telah ditentukan sebelumnya. Fungsi-fungsi ini memungkinkan Anda untuk memanggilnya dan meneruskan argumen yang diperlukan untuk mendapatkan output.

Dalam posting ini, kami akan memberi Anda lembar contekan dari fungsi PostgreSQL yang paling umum dan bahkan menunjukkan kepada Anda bagaimana mendefinisikan yang khusus jika diperlukan.

Fungsi Matematika

Kategori pertama dari fungsi PostgreSQL adalah fungsi matematika. Ini memungkinkan Anda untuk melakukan operasi matematika ke argumen yang diteruskan.

 
Function Functionality
abs(x) Returns an absolute value of x
pi() Returns the pi constant value
sqrt(x) Returns a square root of x
mod(x,y) Returns the modulo value of x and y
trunc(x) Truncates x to towards 0
exp(x) Returns exponential value of x
random() Returns random values between 0 and 1.0
pow(a, b) Raise a to the power of b
factorial(x) Returns factorial value of x
ln() Natural logarithim

Ini adalah beberapa fungsi matematika populer yang dapat Anda gunakan dalam kueri PostgreSQL.

Fungsi Agregat

Kumpulan fungsi PostgreSQL standar lainnya adalah fungsi agregat. Jenis fungsi ini melakukan tindakan pada sekumpulan nilai dan mengembalikan satu hasil.

Fungsi agregat PostgreSQL yang populer meliputi:

 
Function Functionality
avg() Return the average mean for a set of values
min() Minimum value for a given set of values.
max() Maximum value for  a given set of values
sum() Sum of the input values
count() Number of rows for non-null values
count(*) Returns number of input rows

Fungsi String

Di PostgreSQL, fungsi String bertanggung jawab untuk memanipulasi nilai string dan mengembalikan nilai.

Fungsi string umum meliputi:

 
Function Functionality
lower() Converts the input string to lowercase
upper() Converts the input string to uppercase
char_length() Returns the number of characters in a string
|| Concatenates the string on the left side with the string on the right side
bit_length() Number of bits in a string
reverse() Reverse the input string
repeat() Repeat the passed string the specified number of times.

Fungsi Tanggal dan Waktu

Seperti namanya, fungsi waktu dan tanggal bekerja dengan data tanggal dan waktu.

Fungsi umum meliputi:

 
Function Functionality
now() Returns current date and time
current_time() Current time of the day
current_date() Returns current date
age() Returns the symbolic result in the form of year, month, and day from the current date
extract() Extract subfield from a timestamp

Fungsi Geometris

Fungsi geometris melakukan operasi geometrik pada himpunan nilai yang diteruskan. Meskipun Anda mungkin tidak sering menggunakan fungsi-fungsi ini, mereka sangat berguna.

Contoh umum dari fungsi tersebut meliputi:

 
Function Functionality
area Returns the area of the object.
diameter Returns the diameter of a circle
length Returns the length of a path
box(circle) Convert a circle to box
box(point) Convert point to an empty box
path(polygon) Convert polygon to path
polygon(path) Convert path to polygon

Fungsi Alamat Jaringan

Fungsi jaringan berguna saat bekerja dengan tipe inet dan cidr. Fungsi umum meliputi:

 
Function Functionality
host(inet) Returns IP address as text
masklen(inet) Returns the netmask length
network(inet) Returns the network portion of an address
family(inet) Extract the family of address
netmask() Returns network mask for address
inet_same_family(inet, inet) Returns true if both inet addresses are same family

Fungsi di atas adalah sebagian kecil dari fungsi yang didukung oleh PostgreSQL.

Cara Membuat Fungsi Pengguna PostgreSQL

Ada beberapa contoh di mana Anda perlu membuat fungsi kustom. PostgreSQL memungkinkan Anda membuat fungsi seperti itu dengan nama, parameter, dan tipe pengembalian.

Untuk membuat fungsi di PostgreSQL, gunakan pernyataan CREATE FUNCTION.

Sintaks umum untuk membuat fungsi kustom adalah seperti yang ditunjukkan.

CREATE FUNCTION function_name(paramaters)
    RETURNS data_type;
    LANGUAGE procedural_language_type;
AS
$$
DECLARE
    -- declare your variables here
BEGIN
    -- code what the function does
END
$$

Mari kita uraikan sintaks di atas langkah demi langkah.

  1. Kita mulai dengan menggunakan CREATE FUNCTIONpernyataan yang diikuti dengan nama fungsi. Nama fungsi bisa berarti apa saja.
  2. Selanjutnya, kita melewatkan parameter fungsi di dalam sepasang tanda kurung. Jumlah parameter bisa apa saja dari 0 hingga tak terhingga.
  3. Di dalam blok fungsi (ditunjukkan dengan lekukan meskipun tidak diperlukan), kami menggunakan RETURN kata kunci diikuti oleh tipe data yang dikembalikan oleh fungsi.
  4. Bagian selanjutnya mendefinisikan Bahasa Prosedural dari fungsi, yang paling umum adalah PLPGSQL. Fungsi prosedural PostgreSQL lainnya termasuk:PLTCL, PLPERL, PLPYTHON.
  5. Akhirnya, kami menggunakan simbol tanda dolar ganda untuk menginisialisasi fungsi. Di sinilah kita mendeklarasikan variabel dan logika fungsi yang ditempatkan di dalam blok awal dan akhir.

Anda dapat mempelajari lebih lanjut tentang Bahasa Prosedural PostgreSQL dari tautan yang disediakan di bawah ini:

  1. PLPGSQL — Bahasa Prosedural SQL
  2. PLTCL — Tcl Bahasa Prosedural
  3. PLPERL — Bahasa Prosedural Perl
  4. PLPYTHON — Bahasa Prosedural Python
  5. External PL – PL lain di luar distribusi PostgreSQL

PETUNJUK : Fungsi kustom di PostgreSQL sangat mirip dengan prosedur. Namun, tidak seperti prosedur, fungsi mengembalikan nilai.

Contoh Fungsi Kustom

Mari kita ilustrasikan fungsi sederhana yang mengambil jumlah item yang cocok dengan kriteria sederhana.

Mari kita ambil database sakila, misalnya. Kita bisa mendapatkan jumlah film yang nilai sewanya antara 2 sampai 4 dolar.

Fungsi sederhananya adalah:

CREATE FUNCTION get_films(x int, y int)
    RETURNS int
    LANGUAGE PLPGSQL
AS
$$
DECLARE
num_films integer;
BEGIN
    SELECT count(*)
    INTO num_films
    FROM film
    WHERE rental_rate BETWEEN x AND y;
    RETURN num_films;
END;
$$

Setelah kami mendeklarasikan fungsi, kami dapat memanggilnya dan meneruskan nilainya sebagai:

SELECT get_films(2, 4) AS number_of_films;

Setelah kita menjalankan query di a
tas, kita harus mendapatkan jumlah film yang sesuai dengan kriteria di atas.

Dalam kebanyakan kasus, Anda tidak perlu mendefinisikan fungsi seperti itu karena ada metode built-in lain yang lebih sederhana untuk menyelesaikan tugas seperti itu. Karena itu, fungsi di atas menggambarkan cara bekerja dengan fungsi.

Kesimpulan

Dalam tutorial ini, kami mengilustrasikan fungsi PostgreSQL umum untuk membantu melakukan tugas dengan lebih efisien. Terakhir, kami menunjukkan cara membuat dan menggunakan fungsi untuk persyaratan khusus.

Terima kasih telah membaca dan selamat bereksperimen!

Related Posts