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.
- Kita mulai dengan menggunakan CREATE FUNCTIONpernyataan yang diikuti dengan nama fungsi. Nama fungsi bisa berarti apa saja.
- Selanjutnya, kita melewatkan parameter fungsi di dalam sepasang tanda kurung. Jumlah parameter bisa apa saja dari 0 hingga tak terhingga.
- Di dalam blok fungsi (ditunjukkan dengan lekukan meskipun tidak diperlukan), kami menggunakan RETURN kata kunci diikuti oleh tipe data yang dikembalikan oleh fungsi.
- Bagian selanjutnya mendefinisikan Bahasa Prosedural dari fungsi, yang paling umum adalah PLPGSQL. Fungsi prosedural PostgreSQL lainnya termasuk:PLTCL, PLPERL, PLPYTHON.
- 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:
- PLPGSQL — Bahasa Prosedural SQL
- PLTCL — Tcl Bahasa Prosedural
- PLPERL — Bahasa Prosedural Perl
- PLPYTHON — Bahasa Prosedural Python
- 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!