Tüm Ürünler
Search
Belge Merkezi

Hologres:Presto functions

Son Güncelleme:Oct 06, 2026

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;
Not

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;
Önemli

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_shift ve bitwise_logical_shift_right boşalan bitleri sıfırlarla doldurur. bitwise_arithmetic_shift_right ve bitwise_right_shift_arithmetic iş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çin xxhash64 kullanın — bu işlev crc32 ve spooky_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 varsa hmac_* işlevlerini kullanın. crc32 iş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

Sonraki adımlar