Mulai versi V3.1, Hologres mendukung fungsi yang kompatibel dengan Presto melalui ekstensi hg_presto_funcs. Semua fungsi dalam topik ini didukung oleh Mesin eksekusi Velox.
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
Instans Hologres yang menjalankan V3.1 atau versi lebih baru
Akses superuser ke database target
Instal ekstensi
Jalankan pernyataan berikut sebagai superuser—sekali untuk setiap database. Jika Anda membuat database baru, jalankan pernyataan tersebut lagi.
CREATE EXTENSION hg_presto_funcs;Ekstensi hanya diinstal ke skema hg_presto_funcs. Anda tidak dapat menentukan skema lain.
Panggil fungsi Presto
Semua fungsi Presto berada di skema hg_presto_funcs. Untuk memanggilnya, tambahkan prefiks pada setiap nama fungsi atau atur search path sekali per sesi:
-- Opsi 1: tambahkan prefiks pada setiap pemanggilan
SELECT hg_presto_funcs.array_cum_sum(b) FROM public.presto_test;
-- Opsi 2: atur search path untuk session
SET search_path = hg_presto_funcs;
SELECT array_cum_sum(b) FROM public.presto_test;Fungsi-fungsi ini tidak mendukung parameter input konstan. Semua contoh dalam topik ini menggunakan referensi kolom dari tabel sampel di bawah.
Tabel sampel
Contoh dalam topik ini menggunakan tabel berikut:
CREATE TABLE public.presto_test(
a INT, b INT[], c TEXT, d TEXT, e TEXT, f TEXT, g TEXT,
h TEXT, i TEXT, j TEXT, k TEXT, l TEXT, m TEXT, n TEXT,
o TEXT, p TEXT, r TEXT, s TEXT, t FLOAT, u TEXT
);
INSERT INTO public.presto_test
VALUES (
3, ARRAY[1, 2, 3, 2], 'A', '10010', 'SGVsbG8gV29ybGQh',
'\x00000001', '\x0000000000000001', '48656C6C6F',
'\x40490FD0', '\x400921FB54442D18', '\x48656C6C6F',
'"dwdw"', '[1,2,3,4,5,6]', '{"x": {"a": 1, "b": 2}}',
'café', 'apple,banana,cherry', 'ABCDA', 'running',
3.1415926, '[1.0,2.0]'
);Fungsi yang didukung
Tabel di bawah mencantumkan semua fungsi yang didukung, dikelompokkan berdasarkan kategori. Setiap entri menampilkan signature fungsi beserta tipe parameter dan tipe nilai kembalian.
Fungsi array
| Signature fungsi | Deskripsi | Contoh | Hasil |
|---|---|---|---|
array_cum_sum(array(bigint)) → array(bigint) | Mengembalikan array di mana posisi n berisi jumlah dari n elemen pertama. Mengembalikan null pada posisi n jika salah satu dari n elemen pertama bernilai null. | SELECT array_cum_sum(b) FROM public.presto_test; | {1,3,6,8} |
array_has_duplicates(array(T)) → boolean | Mengembalikan true jika array berisi elemen duplikat. | SELECT array_has_duplicates(b) FROM public.presto_test; | t |
array_join(array(T), varchar) → varchar | Menggabungkan elemen-elemen array menjadi string menggunakan pemisah yang diberikan. | SELECT array_join(b, ';') FROM public.presto_test; | 1;2;3;2 |
remove_nulls(array(T)) → array(T) | Menghapus nilai NULL dari array. | SELECT remove_nulls(b) FROM public.presto_test; | {1,2,3,2} |
trim_array(array(T), bigint) → array(T) | Menghapus n elemen dari akhir array. | SELECT trim_array(b, 2) FROM public.presto_test; | {1,2} |
Fungsi bitwise
| Signature fungsi | Deskripsi | Contoh | Hasil |
|---|---|---|---|
bit_count(bigint, bigint) → bigint | Menghitung jumlah bit yang bernilai 1 (Hamming weight) dalam nilai tersebut dalam lebar bit yang ditentukan. | SELECT bit_count(a, 32) FROM public.presto_test; | 2 |
bitwise_and(bigint, bigint) → bigint | Mengembalikan hasil operasi AND bitwise dari dua bilangan bulat. | SELECT bitwise_and(a, 2) FROM public.presto_test; | 2 |
bitwise_or(bigint, bigint) → bigint | Mengembalikan hasil operasi OR bitwise dari dua bilangan bulat. | SELECT bitwise_or(a, 2) FROM public.presto_test; | 3 |
bitwise_xor(bigint, bigint) → bigint | Mengembalikan hasil operasi XOR bitwise dari dua bilangan bulat. | SELECT bitwise_xor(a, 2) FROM public.presto_test; | 1 |
bitwise_not(bigint) → bigint | Mengembalikan hasil operasi NOT bitwise dari suatu bilangan bulat. | SELECT bitwise_not(a) FROM public.presto_test; | -4 |
bitwise_left_shift(bigint, bigint) → bigint | Menggeser nilai ke kiri sebanyak n bit. | SELECT bitwise_left_shift(a, 1) FROM public.presto_test; | 6 |
bitwise_shift_left(bigint, bigint, bigint) → bigint | Menggeser nilai ke kiri sebanyak n bit dalam lebar bit yang ditentukan. | SELECT bitwise_shift_left(a, 1, 32) FROM public.presto_test; | 6 |
bitwise_right_shift(bigint, bigint) → bigint | Menggeser nilai ke kanan sebanyak n bit (logis, diisi nol). | SELECT bitwise_right_shift(a, 1) FROM public.presto_test; | 1 |
bitwise_logical_shift_right(bigint, bigint, bigint) → bigint | Menggeser nilai ke kanan sebanyak n bit (logis, diisi nol) dalam lebar bit yang ditentukan. | SELECT bitwise_logical_shift_right(a, 1, 32) FROM public.presto_test; | 1 |
bitwise_arithmetic_shift_right(bigint, bigint) → bigint | Menggeser nilai ke kanan sebanyak n bit, mempertahankan bit tanda (arithmetic right shift). | SELECT bitwise_arithmetic_shift_right(a, 1) FROM public.presto_test; | 1 |
bitwise_right_shift_arithmetic(bigint, bigint) → bigint | Alias untuk bitwise_arithmetic_shift_right. Menggeser nilai ke kanan sebanyak n bit, mempertahankan bit tanda. | SELECT bitwise_right_shift_arithmetic(a, 1) FROM public.presto_test; | 1 |
bitwise_right_shiftdanbitwise_logical_shift_rightmengisi bit yang kosong dengan nol.bitwise_arithmetic_shift_rightdanbitwise_right_shift_arithmeticmengisi dengan bit tanda, sehingga keduanya setara untuk bilangan bulat negatif.
Fungsi biner dan hash
Untuk penghashan tujuan umum, gunakanxxhash64—fungsi ini jauh lebih cepat daripadacrc32danspooky_hash_v2_*serta menghasilkan kualitas hash yang lebih baik. Gunakan fungsihmac_*ketika Anda memerlukan kode autentikasi berbasis kunci. Gunakancrc32hanya untuk kompatibilitas dengan sistem yang sudah bergantung padanya.
| Signature fungsi | Deskripsi | Contoh | Hasil |
|---|---|---|---|
crc32(varbinary) → bigint | Menghitung checksum CRC32 dari data biner. | SELECT crc32(bin(a)::bytea) FROM public.presto_test; | 3596227959 |
xxhash64(varbinary) → varbinary | Menghitung hash xxHash64 dari data biner dan mengembalikan hasil biner 64-bit. | SELECT xxhash64(r::BYTEA) FROM public.presto_test; | \x616f621d4581935f |
spooky_hash_v2_32(varbinary) → varbinary | Menghitung hash SpookyHashV2 32-bit dari data biner. | SELECT spooky_hash_v2_32(r::BYTEA) FROM public.presto_test; | \x4a6ed4f7 |
spooky_hash_v2_64(varbinary) → varbinary | Menghitung hash SpookyHashV2 64-bit dari data biner. | SELECT spooky_hash_v2_64(r::BYTEA) FROM public.presto_test; | \x2d89595e4a6ed4f7 |
hmac_md5(varbinary, varchar) → varbinary | Menghitung HMAC menggunakan MD5 dan kunci yang diberikan. | SELECT hmac_md5(k::BYTEA, 'secret_key') FROM public.presto_test; | \x52460d22ec7e402dc8c62aeda51ec920 |
hmac_sha1(varbinary, varchar) → varbinary | Menghitung HMAC menggunakan SHA-1 dan kunci yang diberikan. | SELECT hmac_sha1(k::BYTEA, 'secret_key') FROM public.presto_test; | \xf8b6b3ee753fe1d8052cf317b0b4606089c85b19 |
hmac_sha256(varbinary, varchar) → varbinary | Menghitung HMAC menggunakan SHA-256 dan kunci yang diberikan. | SELECT hmac_sha256(k::BYTEA, 'secret_key') FROM public.presto_test; | \x0f0d2e10ec2bdf21bbdf490fd103820089879277261e9aa53ce3f8ecfd46b687 |
hmac_sha512(varbinary, varchar) → varbinary | Menghitung HMAC menggunakan SHA-512 dan kunci yang diberikan. | SELECT hmac_sha512(k::BYTEA, 'secret_key') FROM public.presto_test; | \x99376d305f3c2e729e60eb1e096fc364b8564452c4089b509c5d0d6e63608a43f14643a82880f156bf7df5ce32ba6bc35e36980772f9199b1cf43793e9bbd545 |
sha1(varbinary) → varchar | Menghitung hash SHA-1 dari data biner dan mengembalikannya sebagai string heksadesimal. | SELECT sha1(a::text::bytea) FROM public.presto_test; | 77de68daecd823babbb58edb1c8e14d7106e83bb |
from_base64(varchar) → varbinary | Mendekode string yang dikodekan Base64 standar menjadi biner. | SELECT from_base64(e) FROM public.presto_test; | \x48656c6c6f20576f726c6421 |
to_base64(varbinary) → varchar | Mengkodekan data biner sebagai string Base64 standar. | SELECT to_base64(r::BYTEA) FROM public.presto_test; | QUJDREE= |
from_base64url(varchar) → varbinary | Mendekode string yang dikodekan Base64 aman-URL menjadi biner. | SELECT from_base64url(e) FROM public.presto_test; | \x48656c6c6f20576f726c6421 |
to_base64url(varbinary) → varchar | Mengkodekan data biner sebagai string Base64 aman-URL. | SELECT to_base64url(r::BYTEA) FROM public.presto_test; | QUJDREE= |
from_hex(varchar) → varbinary | Mendekode string heksadesimal menjadi biner. | SELECT from_hex(h) FROM public.presto_test; | \x48656c6c6f |
from_big_endian_32(varbinary) → bigint | Mendekode nilai biner komplemen dua big-endian 32-bit menjadi bigint. | SELECT from_big_endian_32(f::BYTEA) FROM public.presto_test; | 1 |
to_big_endian_32(bigint) → varbinary | Mengkodekan bilangan bulat sebagai nilai biner komplemen dua big-endian 32-bit. | SELECT to_big_endian_32(a) FROM public.presto_test; | \x00000003 |
from_big_endian_64(varbinary) → bigint | Mendekode nilai biner komplemen dua big-endian 64-bit menjadi bigint. | SELECT from_big_endian_64(g::BYTEA) FROM public.presto_test; | 1 |
to_big_endian_64(bigint) → varbinary | Mengkodekan bilangan bulat sebagai nilai biner komplemen dua big-endian 64-bit. | SELECT to_big_endian_64(a) FROM public.presto_test; | \x0000000000000003 |
from_ieee754_32(varbinary) → real | Mendekode nilai biner IEEE 754 big-endian 32-bit menjadi bilangan titik mengambang presisi tunggal. | SELECT from_ieee754_32(i::BYTEA) FROM public.presto_test; | 3.14159012 |
to_ieee754_32(real) → varbinary | Mengkodekan bilangan titik mengambang presisi tunggal sebagai nilai biner IEEE 754 big-endian 32-bit. | SELECT to_ieee754_32(a::REAL) FROM public.presto_test; | \x40400000 |
from_ieee754_64(varbinary) → double | Mendekode nilai biner IEEE 754 big-endian 64-bit menjadi bilangan titik mengambang presisi ganda. | SELECT from_ieee754_64(j::BYTEA) FROM public.presto_test; | 3.141592653589793 |
to_ieee754_64(double) → varbinary | Mengkodekan bilangan titik mengambang presisi ganda sebagai nilai biner IEEE 754 big-endian 64-bit. | SELECT to_ieee754_64(a::FLOAT) FROM public.presto_test; | \x4008000000000000 |
from_base(varchar, bigint) → bigint | Menginterpretasikan string sebagai angka dalam basis yang diberikan dan mengembalikan nilai desimalnya. | SELECT from_base(d, 2) FROM public.presto_test; | 18 |
to_base(bigint, bigint) → varchar | Mengonversi bilangan bulat ke representasi stringnya dalam basis yang diberikan. | SELECT to_base(a, 2) FROM public.presto_test; | 11 |
Fungsi matematika dan statistik
Matematika umum
| Signature fungsi | Deskripsi | Contoh | Hasil |
|---|---|---|---|
clamp(double, double, double) → double | Membatasi nilai ke rentang [min, max]. Mengembalikan nilai jika berada dalam rentang, atau batas terdekat jika di luar rentang. | SELECT clamp(a, 2, 9) FROM public.presto_test; | 3 |
cosh(double) → double | Mengembalikan kosinus hiperbolik dari nilai tersebut. | SELECT cosh(a) FROM public.presto_test; | 10.067661995777765 |
tanh(double) → double | Mengembalikan tangen hiperbolik dari nilai tersebut. | SELECT tanh(a) FROM public.presto_test; | 0.9950547536867305 |
log2(double) → double | Mengembalikan logaritma basis-2 dari nilai tersebut. | SELECT log2(a) FROM public.presto_test; | 1.584962500721156 |
log10(double) → double | Mengembalikan logaritma basis-10 dari nilai tersebut. | SELECT log10(a) FROM public.presto_test; | 0.47712125471966244 |
minus(double, double) → double | Mengembalikan selisih dua angka (x − y). | SELECT minus(a, 1) FROM public.presto_test; | 2 |
negate(double) → double | Mengembalikan negasi dari nilai tersebut. | SELECT negate(a) FROM public.presto_test; | -3 |
truncate(double, integer) → double | Memotong nilai hingga n tempat desimal. | SELECT truncate(t, 2) FROM public.presto_test; | 3.14 |
is_finite(double) → boolean | Mengembalikan true jika nilai tersebut berhingga. | SELECT is_finite(a) FROM public.presto_test; | t |
is_infinite(double) → boolean | Mengembalikan true jika nilai tersebut tak hingga. | SELECT is_infinite(a) FROM public.presto_test; | f |
is_nan(double) → boolean | Mengembalikan true jika nilai tersebut bukan angka (NaN). | SELECT is_nan(a) FROM public.presto_test; | f |
secure_rand() → double | Mengembalikan bilangan acak ganda yang aman secara kriptografi dalam rentang [0, 1). | SELECT secure_rand() FROM public.presto_test; | 0.22077085443234523 |
secure_random() → double | Alias untuk secure_rand. Mengembalikan bilangan acak ganda yang aman secara kriptografi dalam rentang [0, 1). | SELECT secure_random() FROM public.presto_test; | 0.3414298654539425 |
Fungsi distribusi kumulatif (CDF)
| Signature fungsi | Deskripsi | Contoh | Hasil |
|---|---|---|---|
beta_cdf(double, double, double) → double | Mengembalikan Fungsi distribusi kumulatif (CDF) dari distribusi beta dengan parameter bentuk yang diberikan. | SELECT beta_cdf(2, a, 0.5) FROM public.presto_test; | 0.6875 |
binomial_cdf(bigint, double, bigint) → double | Mengembalikan CDF dari distribusi binomial. | SELECT binomial_cdf(6, 0.5, a) FROM public.presto_test; | 0.65625 |
cauchy_cdf(double, double, double) → double | Mengembalikan CDF dari distribusi Cauchy. | SELECT cauchy_cdf(2, a, 0.5) FROM public.presto_test; | 0.6024163823495667 |
chi_squared_cdf(double, double) → double | Mengembalikan CDF dari distribusi chi-kuadrat. | SELECT chi_squared_cdf(a, 4) FROM public.presto_test; | 0.7385358700508894 |
f_cdf(double, double, double) → double | Mengembalikan CDF dari distribusi F. | SELECT f_cdf(2, a, 0.5) FROM public.presto_test; | 0.350480947161671 |
gamma_cdf(double, double, double) → double | Mengembalikan CDF dari distribusi gamma. | SELECT gamma_cdf(2, a, 0.5) FROM public.presto_test; | 0.012437987627616913 |
laplace_cdf(double, double, double) → double | Mengembalikan CDF dari distribusi Laplace. | SELECT laplace_cdf(0, 1, a) FROM public.presto_test; | 0.9751064658160681 |
normal_cdf(double, double, double) → double | Mengembalikan CDF dari distribusi normal dengan rata-rata dan deviasi standar yang diberikan. | SELECT normal_cdf(0, 1, a) FROM public.presto_test; | 0.9986501019683699 |
poisson_cdf(double, bigint) → double | Mengembalikan CDF dari distribusi Poisson. | SELECT poisson_cdf(1, a) FROM public.presto_test; | 0.9810118431238462 |
weibull_cdf(double, double, double) → double | Mengembalikan CDF dari distribusi Weibull. | SELECT weibull_cdf(2, a, 1.5) FROM public.presto_test; | 0.22119921692859512 |
inverse_beta_cdf(double, double, double) → double | Mengembalikan invers CDF dari distribusi beta. | SELECT inverse_beta_cdf(2, a, 0.6875) FROM public.presto_test; | 0.5 |
inverse_cauchy_cdf(double, double, double) → double | Mengembalikan invers CDF dari distribusi Cauchy. | SELECT inverse_cauchy_cdf(2, a, 0.5) FROM public.presto_test; | 2 |
inverse_laplace_cdf(double, double, double) → double | Mengembalikan invers CDF dari distribusi Laplace. | SELECT inverse_laplace_cdf(a, 1, 0.5) FROM public.presto_test; | 3 |
inverse_normal_cdf(double, double, double) → double | Mengembalikan invers CDF dari distribusi normal dengan rata-rata dan deviasi standar yang diberikan. | SELECT inverse_normal_cdf(a, 1, 0.5) FROM public.presto_test; | 3 |
inverse_weibull_cdf(double, double, double) → double | Mengembalikan invers CDF dari distribusi Weibull. | SELECT inverse_weibull_cdf(2, a, 0.5) FROM public.presto_test; | 2.497663833473093 |
wilson_interval_lower(bigint, bigint, double) → double | Mengembalikan batas bawah interval kepercayaan Wilson untuk percobaan Bernoulli pada tingkat kepercayaan z yang diberikan. | SELECT wilson_interval_lower(a, 20, 1.96) FROM public.presto_test; | 0.05236779195949585 |
wilson_interval_upper(bigint, bigint, double) → double | Mengembalikan batas atas interval kepercayaan Wilson untuk percobaan Bernoulli pada tingkat kepercayaan z yang diberikan. | SELECT wilson_interval_upper(a, 20, 1.96) FROM public.presto_test; | 0.3604232958869574 |
Fungsi string dan Unicode
Fungsi-fungsi ini beroperasi pada code point Unicode, bukan karakter yang terlihat pengguna (grapheme clusters). String input harus berupa UTF-8 yang valid.
| Signature fungsi | Deskripsi | Contoh | Hasil |
|---|---|---|---|
codepoint(varchar) → integer | Mengembalikan code point Unicode dari satu karakter. | SELECT codepoint(c) FROM public.presto_test; | 65 |
ends_with(varchar, varchar) → boolean | Mengembalikan true jika string diakhiri dengan sufiks yang diberikan. | SELECT ends_with(concat(a, 'hologres'), 'gres') FROM public.presto_test; | t |
hamming_distance(varchar, varchar) → bigint | Mengembalikan jarak Hamming antara dua string — jumlah posisi di mana karakter berbeda. | SELECT hamming_distance(e, 'SGVsBG7gV39ybGQh') FROM public.presto_test; | 3 |
levenshtein_distance(varchar, varchar) → bigint | Mengembalikan jarak Levenshtein (jarak edit) antara dua string. | SELECT levenshtein(a::text, 'hologres') FROM public.presto_test; | 8 |
normalize(varchar) → varchar | Mengubah string ke bentuk ternormalisasi NFC. | SELECT normalize(o) FROM public.presto_test; | café |
regexp_split(varchar, varchar) → array(varchar) | Memisahkan string menggunakan ekspresi reguler dan mengembalikan bagian-bagiannya sebagai array. | SELECT regexp_split(p, ',') FROM public.presto_test; | {"apple","banana","cherry"} |
strrpos(varchar, varchar) → bigint | Mengembalikan posisi kemunculan terakhir suatu substring dalam string. | SELECT STRRPOS(r, 'A') FROM public.presto_test; | 5 |
trim(varchar, varchar) → varchar | Menghapus kemunculan karakter yang ditentukan dari kedua ujung string. | SELECT trim(r, 'A') FROM public.presto_test; | BCD |
word_stem(varchar, varchar) → varchar | Mengembalikan stem sebuah kata dalam bahasa yang ditentukan. Gunakan 'en' untuk bahasa Inggris atau 'zn' untuk bahasa Tionghoa. | SELECT word_stem(s, 'en') FROM public.presto_test; | run |
Fungsi perbandingan
| Signature fungsi | Deskripsi | Contoh | Hasil |
|---|---|---|---|
eq(T, T) → boolean | Mengembalikan true jika kedua nilai sama. | SELECT eq(c, 'A') FROM public.presto_test; | t |
neq(T, T) → boolean | Mengembalikan true jika kedua nilai tidak sama. | SELECT neq('A', c) FROM public.presto_test; | f |
gt(varchar, varchar) → boolean | Mengembalikan true jika x > y. | SELECT gt('B', c) FROM public.presto_test; | t |
gte(varchar, varchar) → boolean | Mengembalikan true jika x ≥ y. | SELECT gte('A', c) FROM public.presto_test; | t |
lt(varchar, varchar) → boolean | Mengembalikan true jika x < y. | SELECT lt('ABCDA', c) FROM public.presto_test; | f |
lte(varchar, varchar) → boolean | Mengembalikan true jika x ≤ y. | SELECT lte('A', c) FROM public.presto_test; | t |
Fungsi JSON
| Signature fungsi | Deskripsi | Contoh | Hasil |
|---|---|---|---|
is_json_scalar(varchar) → boolean | Mengembalikan true jika nilai tersebut merupakan skalar JSON (bukan objek atau array). | SELECT is_json_scalar(l) FROM public.presto_test; | t |
json_array_contains(varchar, T) → boolean | Mengembalikan true jika array JSON berisi nilai yang diberikan. | SELECT json_array_contains(u, 2) FROM public.presto_test; | t |
json_extract_scalar(varchar, varchar) → varchar | Mengekstraksi nilai skalar dari string JSON pada JSONPath yang diberikan. | SELECT json_extract_scalar(m, '$[1]') FROM public.presto_test; | 2 |
json_size(varchar, varchar) → bigint | Mengembalikan jumlah elemen dalam objek atau array JSON pada JSONPath yang diberikan. | SELECT json_size(n, '$.x') FROM public.presto_test; | 2 |
Fungsi URL
Ekstraksi URL mengikuti sintaks URI yang didefinisikan dalam RFC 2396:
[protocol:][//host[:port]][path][?query][#fragment]Komponen yang diekstraksi tidak mencakup pemisah sintaks URI seperti : atau ?.
| Signature fungsi | Deskripsi | Contoh | Hasil |
|---|---|---|---|
url_decode(varchar) → varchar | Mendekode string yang dikodekan URL. | SELECT url_decode(url_encode(concat('www.', '中文', a, '.com'))) FROM public.presto_test; | www.中文3.com |
url_encode(varchar) → varchar | Mengkodekan URL string dengan meng-escape karakter khusus. | SELECT url_encode(concat('www.', '中文', a, '.com')) FROM public.presto_test; | www.%E4%B8%AD%E6%96%873.com |
url_extract_fragment(varchar) → varchar | Mengekstraksi identifier fragmen dari URL. | SELECT url_extract_fragment(concat('https://www.example.com:', a, '080/products/shirt?color=red&size=XL#discount-section')) FROM public.presto_test; | discount-section |
url_extract_host(varchar) → varchar | Mengekstraksi host dari URL. | SELECT url_extract_host(concat('https://www.example.com:', a, '080/products/shirt?color=red&size=XL#discount-section')) FROM public.presto_test; | www.example.com |
url_extract_parameter(varchar, varchar) → varchar | Mengekstraksi nilai parameter query pertama dengan nama yang diberikan. | SELECT url_extract_parameter(concat('https://www.example.com:', a, '080/products/shirt?color=red&size=XL#discount-section'), 'color') FROM public.presto_test; | red |
url_extract_path(varchar) → varchar | Mengekstraksi path dari URL. | SELECT url_extract_path(concat('https://www.example.com:', a, '080/products/shirt?color=red&size=XL#discount-section')) FROM public.presto_test; | /products/shirt |
url_extract_port(varchar) → bigint | Mengekstraksi nomor port dari URL. | SELECT url_extract_port(concat('https://www.example.com:', a, '080/products/shirt?color=red&size=XL#discount-section')) FROM public.presto_test; | 3088 |
url_extract_protocol(varchar) → varchar | Mengekstraksi protokol dari URL. | SELECT url_extract_protocol(concat('https://www.example.com:', a, '080/products/shirt?color=red&size=XL#discount-section')) FROM public.presto_test; | https |
url_extract_query(varchar) → varchar | Mengekstraksi string query dari URL. | SELECT url_extract_query(concat('https://www.example.com:', a, '080/products/shirt?color=red&size=XL#discount-section')) FROM public.presto_test; | color=red&size=XL |