Topik ini menjelaskan sintaks dasar dan contoh penggunaan fungsi string.
Log Service mendukung fungsi string berikut.
Function | Syntax | Description | SQL | SPL |
chr(x) | Mengonversi kode ASCII ke karakter. | √ | √ | |
codepoint(x) | Mengonversi karakter ke kode ASCII. | √ | √ | |
concat(x, y...) | Menggabungkan beberapa string. | √ | √ | |
from_utf8(x) | Mendekode string biner sebagai teks UTF-8, mengganti karakter yang tidak valid dengan karakter pengganti default (U+FFFD). | √ | √ | |
from_utf8(x, replace_string) | Mendekode string biner sebagai teks UTF-8, mengganti karakter yang tidak valid dengan string kustom. | √ | √ | |
length(x) | Mengembalikan panjang string. | √ | √ | |
levenshtein_distance(x, y) | Menghitung jarak edit minimum antara x dan y. | √ | × | |
lower(x) | Mengonversi string menjadi huruf kecil. | √ | √ | |
lpad(x, length, lpad_string) | Menambahkan awalan string dengan string tertentu hingga mencapai panjang yang ditentukan. | √ | √ | |
ltrim(x) | Menghapus spasi awal dari string. | √ | √ | |
normalize(x) | Menormalisasi string ke bentuk NFC. | √ | × | |
position(sub_string in x) | Mengembalikan posisi awal kemunculan pertama substring dalam string lain. | √ | × | |
replace(x, sub_string ) | Menghapus semua kemunculan substring tertentu dari string. | √ | √ | |
replace(x, sub_string, replace_string) | Mengganti semua kemunculan substring tertentu dengan string pengganti. | √ | √ | |
reverse(x) | Membalik urutan karakter dalam string. | √ | √ | |
rpad(x, length, rpad_string) | Menambahkan akhiran string dengan string tertentu hingga mencapai panjang yang ditentukan. | √ | √ | |
rtrim(x) | Menghapus spasi akhir dari string. | √ | √ | |
split(x, delimiter) | Memisahkan string berdasarkan delimiter dan mengembalikan array substring. | √ | √ | |
split(x, delimiter, limit) | Memisahkan string berdasarkan pemisah tertentu, menggunakan parameter limit untuk membatasi jumlah pemisahan, dan mengembalikan array substring hasilnya. | √ | √ | |
split_part(x, delimiter, part) | Memisahkan string berdasarkan delimiter dan mengembalikan substring pada posisi tertentu. | √ | √ | |
split_to_map(x, delimiter01, delimiter02) | Memisahkan string menjadi map pasangan kunci-nilai menggunakan dua delimiter. | √ | √ | |
strpos(x, sub_string) | Fungsi ini merupakan alias untuk position(sub_string in x). | √ | √ | |
substr(x, start) | Mengekstraksi substring dari string, dimulai dari posisi tertentu. | √ | √ | |
substr(x, start, length) | Mengekstraksi substring dengan panjang tertentu dari string, dimulai dari posisi tertentu. | √ | √ | |
to_utf8(x) | Mengencode string menjadi string biner UTF-8. | √ | √ | |
trim(x) | Menghapus spasi awal dan akhir dari string. | √ | √ | |
upper(x) | Mengonversi string menjadi huruf kapital. | √ | √ | |
csv_extract_map(x, delimiter, quote, keys) | Mengekstraksi nilai tertentu dari baris teks CSV ke dalam map. | √ | × | |
ilike(x, pattern) | Memeriksa apakah string sesuai dengan pola, tanpa membedakan huruf besar/kecil. | √ | √ | |
str_uuid() | Menghasilkan UUID acak 128-bit dan mengembalikannya sebagai string. | × | √ | |
gzip_compress(data, compression_level) | Mengompres string menjadi aliran biner menggunakan algoritma GZIP. | × | √ | |
gzip_decompress(binary_data) | Mendekompres aliran biner yang dikompres GZIP, mengembalikan string aslinya. | × | √ | |
search(search_expression) | Menjalankan pencarian teks lengkap pada data log dalam pernyataan analitik SQL. Mendukung operasi Boolean, pencarian berbasis field, kueri fuzzy, dan kueri rentang. | √ | × |
chr function
Fungsi chr mengonversi kode ASCII ke karakter.
Sintaks
chr(x)Parameter
Parameter | Description |
x | Kode ASCII. |
Tipe kembali
varchar.
Contoh
Menentukan apakah huruf pertama dari nilai field region adalah 'c', di mana 99 adalah kode ASCII untuk huruf kecil 'c'.
Field contoh
region:cn-shanghaiPernyataan kueri dan analisis (Test)
* | SELECT substr(region, 1, 1) = chr(99)Hasil kueri dan analisis: Nilai kembali untuk kolom
_col0adalahtrue, yang menunjukkan bahwa karakter pertama dari fieldregionsesuai denganchr(99)(karakterc).
Codepoint function
Fungsi codepoint mengonversi karakter ke kode ASCII.
Sintaks
codepoint(x)Parameter
Parameter | Description |
x | Karakter yang akan dikonversi, harus bertipe |
Tipe nilai kembali
integer.
Contoh
Menentukan apakah huruf pertama dari nilai field region adalah 'c', di mana 99 adalah kode ASCII untuk huruf kecil 'c'.
Field contoh
upstream_status:200Pernyataan kueri (test)
* | SELECT codepoint(cast (substr(region, 1, 1) AS char(1))) = 99Hasil kueri dan analisis: Kolom
_col0mengembalikan dua baris data, dan nilai kedua baris tersebut adalahtrue.
Concat function
Menggabungkan beberapa string menjadi satu string.
Sintaks
concat(x, y...)Parameter
Parameter | Description |
x | Nilainya harus bertipe varchar. |
y | Nilainya harus bertipe varchar. |
Tipe nilai kembali
Nilai yang dikembalikan bertipe varchar.
Contoh
Menggabungkan nilai field region dan request_method menjadi satu string.
Field contoh
region:cn-shanghai time:14/Jul/2021:02:19:40Pernyataan kueri dan analisis (Test)
* | SELECT concat(region, '-', time)Dalam hasil kueri dan analisis, kolom
_col0mengembalikan string gabungan, seperticn-shanghai-14/Jul/2021:01:16:30.
from_utf8 function
Mendekode string biner ke format encoding UTF-8.
Sintaks
Mengganti karakter UTF-8 yang tidak valid dengan karakter pengganti default, U+FFFD.
from_utf8(x)Mengganti karakter UTF-8 yang tidak valid dengan karakter tertentu.
from_utf8(x,replace_string)
Parameter
Parameter | Description |
x | String biner yang akan didekode. |
replace_string | Karakter tunggal opsional atau spasi yang digunakan untuk mengganti karakter UTF-8 yang tidak valid. |
Tipe nilai kembali
varchar
Contoh
Mendekode string biner 0x80 dan mengganti karakter UTF-8 yang tidak valid dengan karakter pengganti default (U+FFFD).
Pernyataan kueri dan analisis (Debug)
* | SELECT from_utf8(from_base64('0x80'))Hasil kueri dan analisis: Kueri mengembalikan satu kolom
_col0. Nilainya adalah string yang berisi karakter pengganti (U+FFFD), yang berarti byte UTF-8 yang tidak valid telah diganti oleh karakter pengganti default.
Mendekode string biner 0x80 dan mengganti karakter UTF-8 yang tidak valid dengan '0'.
Pernyataan kueri dan analisis (Debug)
* | SELECT from_utf8(from_base64('0x80'), '0')Hasil kueri dan analisis mengembalikan satu kolom bernama
_col0dengan nilai0□4. Kotak persegi mewakili byte yang tidak dapat dirender dengan benar, yang merupakan output dari fungsifrom_utf8setelah mengganti byte UTF-8 yang tidak valid.
Length function
Mengembalikan panjang string.
Sintaks
length(x)Parameter
Parameter | |
x | Nilai varchar. |
Nilai kembali
bigint
Contoh
Menghitung panjang nilai field http_user_agent.
Field contoh
http_user_agent:Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.2 (KHTML, like Gecko) Chrome/22.0.1216.0 Safari/537.2Pernyataan kueri (Test)
* | SELECT length(http_user_agent)Hasil kueri dan analisis adalah
127, yang merepresentasikan panjang string dari nilai fieldhttp_user_agent.
levenshtein_distance
Menghitung jarak edit minimum antara dua string.
Sintaks
levenshtein_distance(x, y)Parameter
Parameter | Description |
x | Nilai bertipe varchar. |
y | Nilai bertipe varchar. |
Nilai kembali
bigint.
Contoh
Kueri jarak edit minimum antara nilai field instance_id dan owner_id.
Field contoh
instance_id:i-01 owner_id:owner-01Pernyataan kueri dan analisis (debug)
* | SELECT levenshtein_distance(owner_id, instance_id)Hasil kueri dan analisis adalah
5.
Lower function
Mengonversi string menjadi huruf kecil.
Sintaks
lower(x)Parameter
Parameter | Description |
x | String varchar. |
Tipe kembali
varchar
Contoh
Mengonversi nilai field request_method menjadi huruf kecil.
Field contoh
request_method:GETPernyataan kueri dan analisis (Debug)
* | SELECT lower(request_method)Hasil kueri dan analisis adalah
get.
lpad function
Fungsi lpad menambahkan awalan string dengan karakter tertentu hingga mencapai panjang yang ditentukan.
Sintaks
lpad(x, length, lpad_string)Parameter
Parameter | Description |
x | Nilainya harus bertipe varchar. |
length | Bilangan bulat yang menentukan panjang yang diinginkan dari string hasil.
|
lpad_string | Karakter atau string yang digunakan untuk padding. |
Tipe kembali
varchar
Contoh
Menambahkan awalan nol pada nilai field instance_id hingga mencapai panjang 10 digit.
Field contoh
instance_id:i-01Pernyataan kueri (Test)
* | SELECT lpad(instance_id, 10, '0')Dalam hasil kueri dan analisis, nilai kembali kolom
_col0adalah000000i-01.
ltrim function
Menghapus spasi awal dari string.
Sintaks
ltrim(x)Parameter
Parameter | Description |
x | String input. Harus bertipe varchar. |
Tipe nilai kembali
varchar
Contoh
Menghapus spasi awal dari nilai field region.
Field contoh
region: cn-shanghaiPernyataan kueri dan analisis (Test)
* | SELECT ltrim(region)Hasilnya adalah
cn-shanghai.
Normalize function
Menormalisasi string menggunakan format Normalization Form C (NFC).
Sintaks
normalize(x)Parameter
Parameter | Description |
x | String varchar yang akan dinormalisasi. |
Tipe nilai kembali
varchar.
Contoh
Contoh ini menormalisasi string schön menggunakan format NFC.
Pernyataan kueri (debug)
* | SELECT normalize('schön')Hasil kueri dan analisis mengembalikan satu baris dan satu kolom, dengan nama kolom
_col0dan nilaischön.
Position function
Mengembalikan posisi awal substring dalam string.
Sintaks
position(sub_string in x)Parameter
Parameter | Description |
sub_string | Substring yang dicari. |
x | String yang dicari, harus bertipe varchar. |
Tipe nilai kembali
Mengembalikan bilangan bulat yang merepresentasikan posisi awal berbasis 1 dari substring. Jika substring tidak ditemukan, fungsi mengembalikan 0.
Contoh
Menemukan posisi substring cn dalam field region.
Field contoh
region:cn-shanghaiPernyataan kueri dan analisis (Test)
* | SELECT position('cn' in region)Hasil kueri dan analisis: Kolom
_col0mengembalikan1, yang menunjukkan bahwa substringcndimulai pada posisi 1 dalam stringcn-shanghai.
Replace function
Fungsi replace menghapus atau mengganti semua kemunculan substring tertentu dalam string.
Sintaks
Menghapus semua kemunculan substring dari string.
replace(x, sub_string)Mengganti semua kemunculan substring dengan string lain.
replace(x, sub_string, replace_string)
Parameter
Parameter | Description |
x | String sumber. Tipe datanya harus varchar. |
sub_string | Substring yang akan dihapus atau diganti. |
replace_string | String pengganti. |
Tipe nilai kembali
varchar
Contoh
Contoh 1: Dalam nilai field
region, ganticndenganChina.Field contoh
region:cn-shanghaiPernyataan kueri dan analisis (Debug)
* | select replace(region, 'cn', '中国')Dalam hasil kueri dan analisis, nilai kolom
_col0adalahChina-shanghai.
Contoh 2: Hapus
cn-dari nilai fieldregion.Field contoh
region:cn-shanghaiPernyataan kueri dan analisis (Debug)
* | select replace(region, 'cn-')Hasil kueri dan analisis adalah
shanghai.
Reverse function
Fungsi reverse mengembalikan string dengan urutan karakternya dibalik.
Sintaks
reverse(x)Parameter
Parameter | Description |
x | String input, harus bertipe varchar. |
Tipe nilai kembali
varchar
Contoh
Membalik nilai field request_method.
Field contoh
request_method:GETPernyataan kueri (Test)
* | SELECT reverse(request_method)Hasilnya adalah
TEG.
rpad function
Menambahkan akhiran string dengan karakter tertentu hingga mencapai panjang yang ditentukan.
Sintaks
rpad(x, length, rpad_string)Parameter
Parameter | Description |
x | String sumber, harus bertipe varchar. |
length | Panjang yang diinginkan dari string hasil, ditentukan sebagai bilangan bulat.
|
rpad_string | Karakter atau string yang digunakan untuk penambahan akhiran. |
Tipe nilai kembali
varchar.
Contoh
Contoh berikut menambahkan akhiran nol pada nilai field instance_id hingga mencapai panjang 10.
Field contoh
instance_id:i-01Pernyataan kueri (debug)
* | SELECT rpad(instance_id, 10, '0')Hasil kueri dan analisis: Kolom
_col0mengembalikan nilaii-01000000.
rtrim function
Menghapus spasi akhir dari string.
Sintaks
rtrim(x)Parameter
Parameter | Description |
x | String sumber, harus bertipe varchar. |
Tipe kembali
varchar
Contoh
Kueri ini menghapus spasi akhir dari nilai field instance_id.
Field contoh
instance_id:i-01Pernyataan kueri (debug)
* | SELECT rtrim(instance_id)Hasil kueri dan analisis: Nilai kembali kolom
_col0adalahi-01.
split function
Fungsi split memisahkan string menjadi array substring menggunakan pemisah.
Sintaks
Memisahkan string berdasarkan pemisah.
split(x, delimiter)Memisahkan string berdasarkan pemisah menjadi jumlah maksimum substring.
split(x,delimiter,limit)
Parameter
Parameter | Description |
x | String varchar yang akan dipisahkan. |
delimiter | Pemisah yang digunakan untuk memisahkan string. |
limit | Jumlah maksimum substring yang akan dikembalikan. Nilainya harus bilangan bulat positif. |
Tipe nilai kembali
array
Contoh
Contoh 1: Memisahkan nilai field
request_urimenjadi empat substring menggunakan garis miring (/) dan mengembalikan array substring tersebut.Field contoh
request_uri:/request/path-1/file-9Pernyataan kueri dan analisis (Test)
* | SELECT split(request_uri, '/')Hasil kueri dan analisis: Kueri mengembalikan
["" ,"request","path-1","file-9"], yaitu array yang dibuat dengan memisahkanrequest_uriberdasarkan/.
Contoh 2: Gunakan garis miring (/) untuk memisahkan nilai field
request_urimenjadi 3 substring dan mengembalikan kumpulan substring tersebut.Field contoh
request_uri:/request/path-1/file-9Pernyataan kueri dan analisis (Test)
* | SELECT split(request_uri, '/', 3)Dalam hasil kueri dan analisis, nilai kolom _col0 adalah
["","request","path-1/file-9"].
Split_part function
Memisahkan string berdasarkan pemisah tertentu dan mengembalikan substring pada indeks tertentu.
Sintaks
split_part(x, delimiter, part)Parameter
Parameter | Description |
x | String yang akan dipisahkan. Nilainya harus bertipe varchar. |
delimiter | String tak kosong yang digunakan sebagai pemisah. |
part | Ekspresi bilangan bulat yang menentukan indeks berbasis 1 dari substring yang akan dikembalikan. Nilainya harus lebih besar dari 0. |
Nilai kembali
varchar
Contoh
Pisahkan nilai field request_uri menggunakan tanda tanya (?) dan kembalikan substring pertama, yaitu path file. Kemudian, hitung jumlah permintaan untuk setiap path.
Field contoh
request_uri: /request/path-2/file-6?name=value&age=18 request_uri: /request/path-2/file-0?name=value&age=18 request_uri: /request/path-3/file-2?name=value&age=18Pernyataan kueri (Test)
* | SELECT count(*) AS PV, split_part(request_uri, '?', 1) AS Path GROUP BY Path ORDER BY pv DESCHasil kueri dan analisis:
/request/path-2/file-6memiliki PV sebesar 49,/request/path-2/file-0memiliki PV sebesar 47, dan/request/path-3/file-2memiliki PV sebesar 44.
split_to_map function
Fungsi split_to_map mengurai string pasangan kunci-nilai menjadi map menggunakan dua delimiter.
Sintaks
split_to_map(x, delimiter01, delimiter02)Parameter
Parameter | Description |
x | String input yang akan diurai, harus bertipe varchar. |
delimiter01 | Delimiter yang memisahkan pasangan kunci-nilai. |
delimiter02 | Delimiter yang memisahkan kunci dari nilai dalam setiap pasangan. |
Tipe kembali
map
Contoh
Gunakan koma Inggris (,) dan titik dua Inggris (:) untuk memisahkan nilai field time dan mengembalikan MAP.
Field contoh
upstream_response_time:"80",request_time:"40"Pernyataan kueri dan analisis
* | SELECT split_to_map(time, ',', ':')Fungsi mengembalikan map, yang ditampilkan dalam hasil kueri dan analisis dalam format JSON:
{"request_time":"\"40\"","upstream_response_time":"\"80\""}.
Strpos function
Fungsi strpos mengembalikan posisi awal substring dalam string. Fungsi ini merupakan alias untuk fungsi position.
Sintaks
strpos(x, sub_string)Parameter
Parameter | Description |
x | String sumber yang akan dicari. Harus bertipe varchar. |
sub_string | Substring yang dicari. |
Tipe nilai kembali
Mengembalikan bilangan bulat yang merepresentasikan posisi awal berbasis 1 dari substring. Mengembalikan 0 jika substring tidak ditemukan.
Contoh
Contoh ini menemukan posisi karakter 'H' dalam field server_protocol.
Pernyataan kueri (Test)
* | SELECT strpos(server_protocol, 'H')Hasil kueri dan analisis: Kolom
_col0mengembalikan dua baris data, keduanya dengan nilai1, yang menunjukkan bahwa posisi kemunculan pertama karakter H dalam fieldserver_protocoladalah 1.
substr function
Fungsi substr mengekstraksi substring dari string, dimulai dari posisi tertentu.
Sintaks
Mengekstraksi substring dari posisi awal tertentu hingga akhir string.
substr(x, start)Mengekstraksi substring dengan panjang tertentu dari string, dimulai dari posisi tertentu.
substr(x,start,length)
Parameter
Parameter | Description |
x | String sumber. Harus bertipe |
start | Posisi awal berbasis 1 untuk ekstraksi. |
length | Bilangan bulat opsional yang menentukan jumlah karakter yang diekstraksi. Jika parameter ini dihilangkan, fungsi mengekstraksi semua karakter dari posisi |
Tipe nilai kembali
varchar.
Contoh
Mengekstraksi 4 karakter pertama dari nilai field server_protocol (bagian HTTP), lalu menghitung jumlah permintaan HTTP.
Field contoh
server_protocol:HTTP/2.0Pernyataan kueri (Test)
* | SELECT substr(server_protocol, 1, 4) AS protocol, count(*) AS count GROUP BY protocolDalam hasil kueri dan analisis, nilai kolom
protocoladalahHTTP, dan nilai kolomcountadalah9078.
to_utf8 function
Mengencode string ke representasi biner UTF-8.
Sintaks
to_utf8(x)Parameter
Parameter | Description |
x | String yang akan diencode. Harus bertipe varchar. |
Tipe nilai kembali
varbinary
Contoh
Encode string 'log' ke format UTF-8.
Pernyataan kueri (Test)
* | SELECT to_utf8('log')Dalam hasil kueri dan analisis, nilai kembali kolom
_col0adalahbG9n.
Trim function
Menghapus spasi awal dan akhir dari string.
Sintaks
trim(x)Parameter
Parameter | Description |
x | String input, harus bertipe varchar. |
Tipe kembali
varchar
Contoh
Menghapus spasi awal dan akhir dari nilai field instance_id.
Field contoh
instance_id: i-01Pernyataan kueri dan analisis (Test)
* | SELECT trim(instance_id)Hasil kueri dan analisis: i-01
Upper function
Mengonversi string menjadi huruf kapital.
Sintaks
upper(x)Parameter
Parameter | Description |
x | Nilainya harus bertipe varchar. |
Tipe nilai kembali
varchar
Contoh
Contoh ini mengonversi nilai field region menjadi huruf kapital.
Field contoh
region:cn-shanghaiPernyataan kueri (Test)
* | SELECT upper(region)Hasil kueri dan analisis adalah
CN-SHANGHAI.
csv_extract_map function
Fungsi csv_extract_map mengurai string CSV satu baris dan mengembalikan map.
Sintaks
csv_extract_map(x, delimiter, quote, keys)Parameter
Parameter | Description |
x | String |
delimiter | Karakter |
quote | Karakter |
keys | Array string yang menentukan nama kunci untuk nilai yang diekstraksi. Jumlah kunci harus sesuai dengan jumlah nilai dalam string CSV. Jika tidak sesuai, fungsi mengembalikan null. |
Tipe nilai kembali
map(varchar, varchar)
Contoh
Contoh ini mengekstraksi informasi CSV dari field content.
Field contoh
content: '192.168.0.100,"10/Jun/2019:11:32:16,127 +0800",example.aliyundoc.com'Pernyataan kueri
select csv_extract_map(content, ',', '"', array['ip', 'time', 'host']) as itemData output
Kueri mengembalikan catatan JSON berikut:
{"ip":"192.168.0.100","host":"example.aliyundoc.com","time":"10/Jun/2019:11:32:16,127 +0800"}.
ilike function
Memeriksa apakah string sesuai dengan pola tertentu, tanpa membedakan huruf besar/kecil.
Sintaks
ilike(x, pattern)Parameter
Parameter | Description |
x | String yang akan dievaluasi. Harus bertipe varchar. |
pattern | Pola karakter. Pola dapat mencakup karakter wildcard berikut:
|
Tipe kembali
boolean
Contoh
Contoh ini memeriksa apakah nilai request_uri diakhiri dengan file-6.
Field contoh
request_uri: '/request/path-2/File-6'Pernyataan kueri
select ilike(request_uri, '%file-6')Hasil kueri dan analisis
Hasil kueri dan analisis adalah true, yang menunjukkan bahwa request_uri diakhiri dengan file-6.
str_uuid
Fungsi str_uuid() mengembalikan pengidentifikasi acak 128-bit sebagai string.
Sintaks
str_uuid()Nilai kembali
Tipe nilai kembali:
VARCHARFormat: String 36 karakter dengan 32 digit heksadesimal dan 4 tanda hubung
-.Struktur:
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Contoh
Untuk menghasilkan batch besar pengidentifikasi unik dalam Lingkungan pengujian simulasi:
* | extend uuid = str_uuid()Gzip_compress function
Fungsi gzip_compress mengompres string menggunakan algoritma GZIP dan mengembalikan data biner terkompres.
Sintaks
-- Metode 1: Tingkat kompresi default (6)
gzip_compress(data)
-- Metode 2: Tentukan tingkat kompresi
gzip_compress(data, compression_level)Parameter
Parameter | Type | Description |
data | VARCHAR | String yang akan dikompres. |
compression_level | BIGINT | Tingkat kompresi, bilangan bulat opsional dari 1 hingga 9. |
Nilai kembali
Tipe nilai kembali:
VARBINARYDescription: Data biner terkompres.
Contoh
Contoh 1: Kompresi dasar
* | extend compress_data = gzip_compress('Hello World')Contoh 2: Mencapai kompresi maksimum untuk teks besar
Untuk memaksimalkan kompresi log besar (puluhan ribu karakter) dan menghemat ruang penyimpanan, gunakan level
9:* | extend compress_data = gzip_compress('Hello World',9)
gzip_decompress
gzip_decompress mendekompres data biner terkompres GZIP (Varbinary) dan mengembalikan konten teks biasa aslinya.
Sintaks
gzip_decompress(binary_data)Parameter
binary_data harus berupa data terkompres GZIP yang valid, biasanya dihasilkan oleh fungsi gzip_compress. Jika input tidak dalam format GZIP standar, fungsi mengembalikan NULL.
Nilai kembali
Tipe nilai kembali:
VARCHARDescription: Konten teks biasa asli setelah dekompresi.
Contoh
Pipeline kompresi dan dekompresi sederhana:
* | extend original_content = gzip_decompress(gzip_compress('Hello SLS!')) -- Output: "Hello SLS!"
Search function
Fungsi search melakukan pencarian teks lengkap pada data log dalam pernyataan analitik SQL. Sebagai fungsi SQL standar, fungsi ini mendukung kondisi kueri kompleks, termasuk operasi boolean, kueri berbasis field, kueri fuzzy, dan kueri rentang.
Batasan
Batasan | Description |
Batasan per subkueri | Anda hanya dapat menggunakan satu fungsi |
Batasan operator OR | Fungsi |
Indeks telah dibuat dan tidak dalam mode scan. | Fungsi search tidak didukung dalam mode scan. |
Konflik sintaks kueri | Anda tidak dapat menggunakan fungsi search ketika input sintaks kueri berisi kondisi filter aktual. Anda dapat menggunakan fungsi ini ketika input sintaks kueri kosong atau berupa |
Tipe parameter | Parameter untuk fungsi |
Jumlah parameter | Fungsi harus memiliki tepat satu parameter. |
Sintaks
search(search_expression)Penggunaan dalam pernyataan analitik SQL:
* | SELECT ... FROM log WHERE search('search_expression')Penting: Fungsi search hanya dapat digunakan dalam klausa WHERE.
Parameter
Parameter | Description |
search_expression |
|
Tipe nilai kembali
Tipe BOOLEAN. true menunjukkan bahwa baris saat ini sesuai dengan kondisi kueri, dan false menunjukkan bahwa tidak sesuai.
Contoh
Contoh 1: Temukan log yang berisi
errordantimeout.* | SELECT * FROM log WHERE search('error AND timeout')Contoh 2: Temukan log di mana field
statusbernilai200.* | SELECT * FROM log WHERE search('status: 200')Contoh 3: Gabungkan fungsi
search()dengan predikat SQL untuk menemukan log di manastatusbernilai200danrequest_timelebih besar dari100.* | SELECT * FROM log WHERE search('status: 200') AND request_time > 100Untuk informasi lebih lanjut, lihat Gunakan fungsi search untuk melakukan pencarian teks lengkap.