PostgreSQL

Fungsi SQL PostgreSQL

Database open-source yang powerful dan populer. 183 fungsi tersedia.

Menampilkan 24 dari 183 fungsi

NULLIF

Conditional

Mengembalikan NULL jika value1 sama dengan value2, otherwise mengembalikan value1. Berguna untuk menghindari division by zero atau mengkonversi sentinel values ke NULL.

Tipe hasil: same as value1

OVERLAY

String

Mengganti bagian string dengan string lain mulai dari posisi tertentu. Jika FOR count tidak diberikan, panjang replacement digunakan.

Tipe hasil: text

PERCENTILE_CONT

Aggregate

Menghitung percentile kontinyu dari data. Menginterpolasi nilai jika percentile jatuh di antara dua nilai. Berguna untuk analisis statistik seperti median (percentile 0.5).

Tipe hasil: double precision

PERCENTILE_DISC

Aggregate

Menghitung percentile diskrit dari data. Mengembalikan nilai aktual dari dataset (tidak diinterpolasi). Berbeda dengan PERCENTILE_CONT yang menginterpolasi.

Tipe hasil: same as input

PERCENT_RANK

Window

Menghitung relative rank sebagai persentase (0 sampai 1). Formula: (rank - 1) / (total_rows - 1). Baris pertama selalu 0, baris terakhir selalu 1.

Tipe hasil: double precision

PG_TYPEOF

Conversion

Mengembalikan nama tipe data dari nilai. Berguna untuk debugging dan introspection.

Tipe hasil: regtype

PI

Math

Mengembalikan konstanta matematika pi (π ≈ 3.14159265358979). Berguna untuk perhitungan trigonometri dan geometri.

Tipe hasil: double precision

POSITION

String

Mencari posisi pertama substring dalam string. Mengembalikan 0 jika tidak ditemukan. Posisi dimulai dari 1. STRPOS adalah versi dengan urutan parameter terbalik.

Tipe hasil: integer

POWER

Math

Menghitung pangkat dari sebuah angka (base^exponent). Berguna untuk perhitungan eksponensial, compound interest, dan formula matematika.

Tipe hasil: double precision

QUOTE_IDENT

String

Mengembalikan string sebagai SQL identifier dengan proper quoting. Berguna untuk dynamic SQL yang aman.

Tipe hasil: text

QUOTE_LITERAL

String

Mengembalikan string sebagai SQL string literal dengan proper escaping. Berguna untuk dynamic SQL yang aman dari injection.

Tipe hasil: text

QUOTE_NULLABLE

String

Sama dengan QUOTE_LITERAL tapi mengembalikan string NULL untuk input NULL. Berguna untuk dynamic SQL dengan nullable values.

Tipe hasil: text

RADIANS

Math

Mengkonversi derajat ke radian. Kebalikan dari DEGREES. Diperlukan untuk fungsi trigonometri PostgreSQL yang expect radian.

Tipe hasil: double precision

RANDOM

Math

Menghasilkan angka acak antara 0 (inklusif) dan 1 (eksklusif). Berguna untuk sampling data, shuffle, atau generate test data.

Tipe hasil: double precision

RANK

Window

Memberikan ranking untuk setiap baris. Baris dengan nilai sama mendapat rank yang sama, dengan gap setelahnya.

Tipe hasil: bigint

REGEXP_MATCH

String

Mencari pattern regex dalam string dan mengembalikan array of captured groups. Hanya mengembalikan match pertama. Untuk semua matches, gunakan REGEXP_MATCHES.

Tipe hasil: text[]

REGEXP_MATCHES

String

Mencari semua matches pattern regex dan mengembalikan set of arrays. Gunakan flag g untuk global matching. Beda dengan REGEXP_MATCH yang hanya return first match.

Tipe hasil: setof text[]

REGEXP_REPLACE

String

Mengganti substring yang match dengan pattern regex. Flags: g (global), i (case insensitive), n (newline sensitive).

Tipe hasil: text

REGEXP_SPLIT_TO_ARRAY

String

Memisahkan string menggunakan regex pattern dan mengembalikan array. Lebih powerful dari STRING_TO_ARRAY.

Tipe hasil: text[]

REGEXP_SPLIT_TO_TABLE

String

Memisahkan string menggunakan regex dan mengembalikan sebagai rows. Berguna untuk unnest dalam satu langkah.

Tipe hasil: setof text

REPEAT

String

Mengulang string sebanyak n kali. Berguna untuk membuat padding, separator, atau visual elements.

Tipe hasil: text

REPLACE

String

Mengganti semua kemunculan substring tertentu dengan substring lain dalam sebuah string.

Tipe hasil: text

REVERSE

String

Membalik urutan karakter dalam string. Berguna untuk cek palindrome atau manipulasi string tertentu.

Tipe hasil: text

RIGHT

String

Mengambil n karakter dari kanan string. Jika n negatif, mengambil semua kecuali n karakter pertama.

Tipe hasil: text