V3.1 sürümünden itibaren Hologres, hg_presto_funcs uzantısı aracılığıyla Presto uyumlu işlevleri destekler. Bu konudaki tüm işlevler, Velox çalıştırma altyapısı tarafından desteklenir.
Ön koşullar
Başlamadan önce aşağıdaki gereksinimlere sahip olduğunuzdan emin olun:
V3.1 veya üzeri bir sürümde çalışan bir Hologres örneği
Hedef veritabanı için Superuser erişimi
Uzantıyı yükleme
Aşağıdaki deyimi Superuser olarak çalıştırın. Her veritabanı için bir kez çalıştırmanız gerekir; yeni bir veritabanı oluşturursanız bu işlemi tekrarlayın.
CREATE EXTENSION hg_presto_funcs;
Uzantı yalnızca hg_presto_funcs şemasına yüklenir. Farklı bir şema belirtmeniz mümkün değildir.
Presto işlevlerini çağırma
Tüm Presto işlevleri hg_presto_funcs şemasında bulunur. Bu işlevleri çağırmak için her işlev adının önüne şema adını ekleyebilir veya oturum başına arama yolunu bir kez ayarlayabilirsiniz:
-- Option 1: prefix each call
SELECT hg_presto_funcs.array_cum_sum(b) FROM public.presto_test;
-- Option 2: set search path for the session
SET search_path = hg_presto_funcs;
SELECT array_cum_sum(b) FROM public.presto_test;
Bu işlevler sabit giriş parametrelerini desteklemez. Bu konudaki tüm örnekler, aşağıdaki örnek tablodan alınan sütun başvurularını kullanır.
Örnek tablo
Bu konudaki örneklerde aşağıdaki tablo kullanılır:
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]'
);
Desteklenen işlevler
Aşağıdaki tablolar, kategorilere göre gruplandırılmış tüm desteklenen işlevleri listeler. Her giriş, parametre ve dönüş türleriyle birlikte işlev imzasını gösterir.
Dizi işlevleri
| İşlev imzası | Açıklama | Örnek | Sonuç |
|---|---|---|---|
array_cum_sum(array(bigint)) → array(bigint) |
Konumu n olan elemanın ilk n elemanın toplamını tuttuğu bir dizi döndürür. İlk n elemandan herhangi biri null ise n konumunda null döner. | SELECT array_cum_sum(b) FROM public.presto_test; |
{1,3,6,8} |
array_has_duplicates(array(T)) → boolean |
Dizi yinelenen elemanlar içeriyorsa true döner. | SELECT array_has_duplicates(b) FROM public.presto_test; |
t |
array_join(array(T), varchar) → varchar |
Dizi elemanlarını verilen ayırıcı kullanarak tek bir dizede birleştirir. | SELECT array_join(b, ';') FROM public.presto_test; |
1;2;3;2 |
remove_nulls(array(T)) → array(T) |
Bir diziden NULL değerleri kaldırır. | SELECT remove_nulls(b) FROM public.presto_test; |
{1,2,3,2} |
trim_array(array(T), bigint) → array(T) |
Bir dizinin sonundan n elemanı kaldırır. | SELECT trim_array(b, 2) FROM public.presto_test; |
{1,2} |
Bit düzeyinde işlevler
| İşlev imzası | Açıklama | Örnek | Sonuç |
|---|---|---|---|
bit_count(bigint, bigint) → bigint |
Belirtilen bit genişliği içindeki değerdeki ayarlı bitlerin sayısını (Hamming ağırlığı) hesaplar. | SELECT bit_count(a, 32) FROM public.presto_test; |
2 |
bitwise_and(bigint, bigint) → bigint |
İki tamsayının bit düzeyinde AND işleminin sonucunu döndürür. | SELECT bitwise_and(a, 2) FROM public.presto_test; |
2 |
bitwise_or(bigint, bigint) → bigint |
İki tamsayının bit düzeyinde OR işleminin sonucunu döndürür. | SELECT bitwise_or(a, 2) FROM public.presto_test; |
3 |
bitwise_xor(bigint, bigint) → bigint |
İki tamsayının bit düzeyinde XOR işleminin sonucunu döndürür. | SELECT bitwise_xor(a, 2) FROM public.presto_test; |
1 |
bitwise_not(bigint) → bigint |
Bir tamsayının bit düzeyinde NOT işleminin sonucunu döndürür. | SELECT bitwise_not(a) FROM public.presto_test; |
-4 |
bitwise_left_shift(bigint, bigint) → bigint |
Değeri n bit sola kaydırır. | SELECT bitwise_left_shift(a, 1) FROM public.presto_test; |
6 |
bitwise_shift_left(bigint, bigint, bigint) → bigint |
Değeri belirtilen bit genişliği içinde n bit sola kaydırır. | SELECT bitwise_shift_left(a, 1, 32) FROM public.presto_test; |
6 |
bitwise_right_shift(bigint, bigint) → bigint |
Değeri n bit sağa kaydırır (mantıksal, sıfır doldurma). | SELECT bitwise_right_shift(a, 1) FROM public.presto_test; |
1 |
bitwise_logical_shift_right(bigint, bigint, bigint) → bigint |
Değeri belirtilen bit genişliği içinde n bit sağa kaydırır (mantıksal, sıfır doldurma). | SELECT bitwise_logical_shift_right(a, 1, 32) FROM public.presto_test; |
1 |
bitwise_arithmetic_shift_right(bigint, bigint) → bigint |
Değeri n bit sağa kaydırır ve işaret bitini korur (aritmetik sağ kaydırma). | SELECT bitwise_arithmetic_shift_right(a, 1) FROM public.presto_test; |
1 |
bitwise_right_shift_arithmetic(bigint, bigint) → bigint |
bitwise_arithmetic_shift_right işlevinin takma adıdır. Değeri n bit sağa kaydırır ve işaret bitini korur. |
SELECT bitwise_right_shift_arithmetic(a, 1) FROM public.presto_test; |
1 |
bitwise_right_shiftvebitwise_logical_shift_rightboşalan bitleri sıfırlarla doldurur.bitwise_arithmetic_shift_rightvebitwise_right_shift_arithmeticişaret bitiyle doldurur; bu da negatif tamsayılar için eşdeğer olmalarını sağlar.
İkili veri ve karma işlevleri
Genel amaçlı karma işlemleri içinxxhash64kullanın — bu işlevcrc32vespooky_hash_v2_*işlevlerinden önemli ölçüde daha hızlıdır ve daha iyi karma kalitesi sunar. Anahtarlı kimlik doğrulama kodlarına ihtiyacınız varsahmac_*işlevlerini kullanın.crc32işlevini yalnızca zaten buna bağımlı sistemlerle uyumluluk gerektiğinde kullanın.
| İşlev imzası | Açıklama | Örnek | Sonuç |
|---|---|---|---|
crc32(varbinary) → bigint |
İkili verilerin CRC32 sağlama toplamını hesaplar. | SELECT crc32(bin(a)::bytea) FROM public.presto_test; |
3596227959 |
xxhash64(varbinary) → varbinary |
İkili verilerin xxHash64 karmasını hesaplar ve 64 bitlik ikili sonuç döndürür. | SELECT xxhash64(r::BYTEA) FROM public.presto_test; |
\x616f621d4581935f |
spooky_hash_v2_32(varbinary) → varbinary |
İkili verilerin SpookyHashV2 32 bitlik karmasını hesaplar. | SELECT spooky_hash_v2_32(r::BYTEA) FROM public.presto_test; |
\x4a6ed4f7 |
spooky_hash_v2_64(varbinary) → varbinary |
İkili verilerin SpookyHashV2 64 bitlik karmasını hesaplar. | SELECT spooky_hash_v2_64(r::BYTEA) FROM public.presto_test; |
\x2d89595e4a6ed4f7 |
hmac_md5(varbinary, varchar) → varbinary |
Verilen anahtarı kullanarak MD5 ile HMAC hesaplar. | SELECT hmac_md5(k::BYTEA, 'secret_key') FROM public.presto_test; |
\x52460d22ec7e402dc8c62aeda51ec920 |
hmac_sha1(varbinary, varchar) → varbinary |
Verilen anahtarı kullanarak SHA-1 ile HMAC hesaplar. | SELECT hmac_sha1(k::BYTEA, 'secret_key') FROM public.presto_test; |
\xf8b6b3ee753fe1d8052cf317b0b4606089c85b19 |
hmac_sha256(varbinary, varchar) → varbinary |
Verilen anahtarı kullanarak SHA-256 ile HMAC hesaplar. | SELECT hmac_sha256(k::BYTEA, 'secret_key') FROM public.presto_test; |
\x0f0d2e10ec2bdf21bbdf490fd103820089879277261e9aa53ce3f8ecfd46b687 |
hmac_sha512(varbinary, varchar) → varbinary |
Verilen anahtarı kullanarak SHA-512 ile HMAC hesaplar. | SELECT hmac_sha512(k::BYTEA, 'secret_key') FROM public.presto_test; |
\x99376d305f3c2e729e60eb1e096fc364b8564452c4089b509c5d0d6e63608a43f14643a82880f156bf7df5ce32ba6bc35e36980772f9199b1cf43793e9bbd545 |
sha1(varbinary) → varchar |
İkili verilerin SHA-1 karmasını hesaplar ve onaltılık dize olarak döndürür. | SELECT sha1(a::text::bytea) FROM public.presto_test; |
77de68daecd823babbb58edb1c8e14d7106e83bb |
from_base64(varchar) → varbinary |
Standart Base64 kodlu bir dizeyi ikili veriye çözer. | SELECT from_base64(e) FROM public.presto_test; |
\x48656c6c6f20576f726c6421 |
to_base64(varbinary) → varchar |
İkili verileri standart Base64 dizesi olarak kodlar. | SELECT to_base64(r::BYTEA) FROM public.presto_test; |
QUJDREE= |
from_base64url(varchar) → varbinary |
URL güvenli Base64 kodlu bir dizeyi ikili veriye çözer. | SELECT from_base64url(e) FROM public.presto_test; |
\x48656c6c6f20576f726c6421 |
to_base64url(varbinary) → varchar |
İkili verileri URL güvenli Base64 dizesi olarak kodlar. | SELECT to_base64url(r::BYTEA) FROM public.presto_test; |
QUJDREE= |
from_hex(varchar) → varbinary |
Onaltılık dizeyi ikili veriye çözer. | SELECT from_hex(h) FROM public.presto_test; |
\x48656c6c6f |
from_big_endian_32(varbinary) → bigint |
32 bitlik big-endian iki tamamlayan ikili değeri bigint'e çözer. | SELECT from_big_endian_32(f::BYTEA) FROM public.presto_test; |
1 |
to_big_endian_32(bigint) → varbinary |
Bir tamsayıyı 32 bitlik big-endian iki tamamlayan ikili değer olarak kodlar. | SELECT to_big_endian_32(a) FROM public.presto_test; |
\x00000003 |
from_big_endian_64(varbinary) → bigint |
64 bitlik big-endian iki tamamlayan ikili değeri bigint'e çözer. | SELECT from_big_endian_64(g::BYTEA) FROM public.presto_test; |
1 |
to_big_endian_64(bigint) → varbinary |
Bir tamsayıyı 64 bitlik big-endian iki tamamlayan ikili değer olarak kodlar. | SELECT to_big_endian_64(a) FROM public.presto_test; |
\x0000000000000003 |
from_ieee754_32(varbinary) → real |
32 bitlik big-endian IEEE 754 ikili değerini tek hassasiyetli kayan nokta sayısına çözer. | SELECT from_ieee754_32(i::BYTEA) FROM public.presto_test; |
3.14159012 |
to_ieee754_32(real) → varbinary |
Tek hassasiyetli kayan nokta sayısını 32 bitlik big-endian IEEE 754 ikili değeri olarak kodlar. | SELECT to_ieee754_32(a::REAL) FROM public.presto_test; |
\x40400000 |
from_ieee754_64(varbinary) → double |
64 bitlik big-endian IEEE 754 ikili değerini çift hassasiyetli kayan nokta sayısına çözer. | SELECT from_ieee754_64(j::BYTEA) FROM public.presto_test; |
3.141592653589793 |
to_ieee754_64(double) → varbinary |
Çift hassasiyetli kayan nokta sayısını 64 bitlik big-endian IEEE 754 ikili değeri olarak kodlar. | SELECT to_ieee754_64(a::FLOAT) FROM public.presto_test; |
\x4008000000000000 |
from_base(varchar, bigint) → bigint |
Bir dizeyi verilen tabanda bir sayı olarak yorumlar ve ondalık değerini döndürür. | SELECT from_base(d, 2) FROM public.presto_test; |
18 |
to_base(bigint, bigint) → varchar |
Bir tamsayıyı verilen tabandaki dize gösterimine dönüştürür. | SELECT to_base(a, 2) FROM public.presto_test; |
11 |
Matematik ve istatistik işlevleri
Genel matematik
| İşlev imzası | Açıklama | Örnek | Sonuç |
|---|---|---|---|
clamp(double, double, double) → double |
Bir değeri [min, maks] aralığına sıkıştırır. Değer aralık içindeyse değeri, değilse en yakın sınırı döndürür. | SELECT clamp(a, 2, 9) FROM public.presto_test; |
3 |
cosh(double) → double |
Değerin hiperbolik kosinüsünü döndürür. | SELECT cosh(a) FROM public.presto_test; |
10.067661995777765 |
tanh(double) → double |
Değerin hiperbolik tanjantını döndürür. | SELECT tanh(a) FROM public.presto_test; |
0.9950547536867305 |
log2(double) → double |
Değerin 2 tabanındaki logaritmasını döndürür. | SELECT log2(a) FROM public.presto_test; |
1.584962500721156 |
log10(double) → double |
Değerin 10 tabanındaki logaritmasını döndürür. | SELECT log10(a) FROM public.presto_test; |
0.47712125471966244 |
minus(double, double) → double |
İki sayının farkını döndürür (x − y). | SELECT minus(a, 1) FROM public.presto_test; |
2 |
negate(double) → double |
Değerin ters işaretlisini döndürür. | SELECT negate(a) FROM public.presto_test; |
-3 |
truncate(double, integer) → double |
Değeri n ondalık basamağa kısaltır. | SELECT truncate(t, 2) FROM public.presto_test; |
3.14 |
is_finite(double) → boolean |
Değer sonluysa true döner. | SELECT is_finite(a) FROM public.presto_test; |
t |
is_infinite(double) → boolean |
Değer sonsuzsa true döner. | SELECT is_infinite(a) FROM public.presto_test; |
f |
is_nan(double) → boolean |
Değer sayı değilse (NaN) true döner. | SELECT is_nan(a) FROM public.presto_test; |
f |
secure_rand() → double |
[0, 1) aralığında kriptografik olarak güvenli rastgele bir double değer döndürür. | SELECT secure_rand() FROM public.presto_test; |
0.22077085443234523 |
secure_random() → double |
secure_rand işlevinin takma adıdır. [0, 1) aralığında kriptografik olarak güvenli rastgele bir double değer döndürür. |
SELECT secure_random() FROM public.presto_test; |
0.3414298654539425 |
Kümülatif dağılım işlevleri (CDF)
| İşlev imzası | Açıklama | Örnek | Sonuç |
|---|---|---|---|
beta_cdf(double, double, double) → double |
Verilen şekil parametreleriyle beta dağılımının kümülatif dağılım işlevini (CDF) döndürür. | SELECT beta_cdf(2, a, 0.5) FROM public.presto_test; |
0.6875 |
binomial_cdf(bigint, double, bigint) → double |
Binom dağılımının CDF değerini döndürür. | SELECT binomial_cdf(6, 0.5, a) FROM public.presto_test; |
0.65625 |
cauchy_cdf(double, double, double) → double |
Cauchy dağılımının CDF değerini döndürür. | SELECT cauchy_cdf(2, a, 0.5) FROM public.presto_test; |
0.6024163823495667 |
chi_squared_cdf(double, double) → double |
Ki-kare dağılımının CDF değerini döndürür. | SELECT chi_squared_cdf(a, 4) FROM public.presto_test; |
0.7385358700508894 |
f_cdf(double, double, double) → double |
F dağılımının CDF değerini döndürür. | SELECT f_cdf(2, a, 0.5) FROM public.presto_test; |
0.350480947161671 |
gamma_cdf(double, double, double) → double |
Gamma dağılımının CDF değerini döndürür. | SELECT gamma_cdf(2, a, 0.5) FROM public.presto_test; |
0.012437987627616913 |
laplace_cdf(double, double, double) → double |
Laplace dağılımının CDF değerini döndürür. | SELECT laplace_cdf(0, 1, a) FROM public.presto_test; |
0.9751064658160681 |
normal_cdf(double, double, double) → double |
Verilen ortalama ve standart sapmayla normal dağılımın CDF değerini döndürür. | SELECT normal_cdf(0, 1, a) FROM public.presto_test; |
0.9986501019683699 |
poisson_cdf(double, bigint) → double |
Poisson dağılımının CDF değerini döndürür. | SELECT poisson_cdf(1, a) FROM public.presto_test; |
0.9810118431238462 |
weibull_cdf(double, double, double) → double |
Weibull dağılımının CDF değerini döndürür. | SELECT weibull_cdf(2, a, 1.5) FROM public.presto_test; |
0.22119921692859512 |
inverse_beta_cdf(double, double, double) → double |
Beta dağılımının ters CDF değerini döndürür. | SELECT inverse_beta_cdf(2, a, 0.6875) FROM public.presto_test; |
0.5 |
inverse_cauchy_cdf(double, double, double) → double |
Cauchy dağılımının ters CDF değerini döndürür. | SELECT inverse_cauchy_cdf(2, a, 0.5) FROM public.presto_test; |
2 |
inverse_laplace_cdf(double, double, double) → double |
Laplace dağılımının ters CDF değerini döndürür. | SELECT inverse_laplace_cdf(a, 1, 0.5) FROM public.presto_test; |
3 |
inverse_normal_cdf(double, double, double) → double |
Verilen ortalama ve standart sapmayla normal dağılımın ters CDF değerini döndürür. | SELECT inverse_normal_cdf(a, 1, 0.5) FROM public.presto_test; |
3 |
inverse_weibull_cdf(double, double, double) → double |
Weibull dağılımının ters CDF değerini döndürür. | SELECT inverse_weibull_cdf(2, a, 0.5) FROM public.presto_test; |
2.497663833473093 |
wilson_interval_lower(bigint, bigint, double) → double |
Verilen güven düzeyi z için Bernoulli denemesinin Wilson güven aralığının alt sınırını döndürür. | SELECT wilson_interval_lower(a, 20, 1.96) FROM public.presto_test; |
0.05236779195949585 |
wilson_interval_upper(bigint, bigint, double) → double |
Verilen güven düzeyi z için Bernoulli denemesinin Wilson güven aralığının üst sınırını döndürür. | SELECT wilson_interval_upper(a, 20, 1.96) FROM public.presto_test; |
0.3604232958869574 |
Dize ve Unicode işlevleri
Bu işlevler kullanıcı tarafından görülen karakterler (grafeme kümeleri) yerine Unicode kod noktaları üzerinde çalışır. Giriş dizeleri geçerli UTF-8 formatında olmalıdır.
| İşlev imzası | Açıklama | Örnek | Sonuç |
|---|---|---|---|
codepoint(varchar) → integer |
Tek bir karakterin Unicode kod noktasını döndürür. | SELECT codepoint(c) FROM public.presto_test; |
65 |
ends_with(varchar, varchar) → boolean |
Dize verilen sonekle bitiyorsa true döner. | SELECT ends_with(concat(a, 'hologres'), 'gres') FROM public.presto_test; |
t |
hamming_distance(varchar, varchar) → bigint |
İki dize arasındaki Hamming mesafesini — yani karakterlerin farklı olduğu konum sayısını — döndürür. | SELECT hamming_distance(e, 'SGVsBG7gV39ybGQh') FROM public.presto_test; |
3 |
levenshtein_distance(varchar, varchar) → bigint |
İki dize arasındaki Levenshtein mesafesini (düzenleme mesafesi) döndürür. | SELECT levenshtein(a::text, 'hologres') FROM public.presto_test; |
8 |
normalize(varchar) → varchar |
Bir dizeyi NFC normalize edilmiş biçime dönüştürür. | SELECT normalize(o) FROM public.presto_test; |
café |
regexp_split(varchar, varchar) → array(varchar) |
Bir dizeyi düzenli ifade kullanarak böler ve parçaları bir dizi olarak döndürür. | SELECT regexp_split(p, ',') FROM public.presto_test; |
{"apple","banana","cherry"} |
strrpos(varchar, varchar) → bigint |
Bir alt dizenin dize içindeki son oluşumunun konumunu döndürür. | SELECT STRRPOS(r, 'A') FROM public.presto_test; |
5 |
trim(varchar, varchar) → varchar |
Belirtilen karakterlerin oluşumlarını dizenin her iki ucundan kaldırır. | SELECT trim(r, 'A') FROM public.presto_test; |
BCD |
word_stem(varchar, varchar) → varchar |
Belirtilen dildeki bir kelimenin kökünü döndürür. İngilizce için 'en' veya Çince için 'zn' belirtin. |
SELECT word_stem(s, 'en') FROM public.presto_test; |
run |
Karşılaştırma işlevleri
| İşlev imzası | Açıklama | Örnek | Sonuç |
|---|---|---|---|
eq(T, T) → boolean |
İki değer eşitse true döner. | SELECT eq(c, 'A') FROM public.presto_test; |
t |
neq(T, T) → boolean |
İki değer eşit değilse true döner. | SELECT neq('A', c) FROM public.presto_test; |
f |
gt(varchar, varchar) → boolean |
x > y ise true döner. | SELECT gt('B', c) FROM public.presto_test; |
t |
gte(varchar, varchar) → boolean |
x ≥ y ise true döner. | SELECT gte('A', c) FROM public.presto_test; |
t |
lt(varchar, varchar) → boolean |
x < y ise true döner. | SELECT lt('ABCDA', c) FROM public.presto_test; |
f |
lte(varchar, varchar) → boolean |
x ≤ y ise true döner. | SELECT lte('A', c) FROM public.presto_test; |
t |
JSON işlevleri
| İşlev imzası | Açıklama | Örnek | Sonuç |
|---|---|---|---|
is_json_scalar(varchar) → boolean |
Değer bir JSON skaleri (nesne veya dizi değil) ise true döner. | SELECT is_json_scalar(l) FROM public.presto_test; |
t |
json_array_contains(varchar, T) → boolean |
JSON dizisi verilen değeri içeriyorsa true döner. | SELECT json_array_contains(u, 2) FROM public.presto_test; |
t |
json_extract_scalar(varchar, varchar) → varchar |
Verilen JSONPath'teki bir JSON dizesinden skaler bir değer çıkarır. | SELECT json_extract_scalar(m, '$[1]') FROM public.presto_test; |
2 |
json_size(varchar, varchar) → bigint |
Verilen JSONPath'teki JSON nesnesindeki veya dizisindeki eleman sayısını döndürür. | SELECT json_size(n, '$.x') FROM public.presto_test; |
2 |
URL işlevleri
URL çıkarma işlemi, RFC 2396 standardında tanımlanan URI sözdizimini takip eder:
[protocol:][//host[:port]][path][?query][#fragment]
Çıkarılan bileşenler : veya ? gibi URI sözdizimi ayırıcılarını içermez.
| İşlev imzası | Açıklama | Örnek | Sonuç |
|---|---|---|---|
url_decode(varchar) → varchar |
URL kodlu bir dizeyi çözer. | SELECT url_decode(url_encode(concat('www.', '中文', a, '.com'))) FROM public.presto_test; |
www.中文3.com |
url_encode(varchar) → varchar |
Özel karakterleri kaçış karakterleriyle değiştirerek bir dizeyi URL kodlar. | SELECT url_encode(concat('www.', '中文', a, '.com')) FROM public.presto_test; |
www.%E4%B8%AD%E6%96%873.com |
url_extract_fragment(varchar) → varchar |
Bir URL'den parça tanımlayıcısını çıkarır. | 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 |
Bir URL'den ana bilgisayarı çıkarır. | 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 |
Verilen ada sahip ilk sorgu parametresinin değerini çıkarır. | 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 |
Bir URL'den yolu çıkarır. | 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 |
Bir URL'den bağlantı noktası numarasını çıkarır. | 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 |
Bir URL'den protokolü çıkarır. | 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 |
Bir URL'den sorgu dizesini çıkarır. | 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 |