Topik ini menjelaskan fungsi string yang didukung oleh Hologres dan memberikan contoh penggunaannya.
Untuk informasi lebih lanjut tentang cara menggunakan fungsi string yang kompatibel dengan PostgreSQL, lihat Fungsi PostgreSQL.
Tipe | Fungsi | Deskripsi |
Penggabungan, pemisahan, dan padding string | Menghapus karakter tertentu dari kedua sisi string. | |
Menggabungkan dua atau lebih nilai string dan mengembalikan string yang berkelanjutan. | ||
Menggunakan pembatas yang ditentukan oleh parameter pertama untuk menggabungkan string yang ditentukan oleh parameter lainnya. | ||
Mengekstrak sejumlah karakter tertentu mulai dari awal string. | ||
Menggabungkan nilai kolom dalam beberapa baris menjadi satu string. Fungsi ini kompatibel dengan Oracle. Sebelum Anda menggunakan fungsi ini, Anda harus menginstal ekstensi Orafce. Untuk informasi lebih lanjut, lihat Fungsi Oracle yang Didukung. | ||
Menambahkan karakter tertentu ke sisi kiri string hingga mencapai panjang tertentu. | ||
Menghapus karakter tertentu dari sisi kiri (awal) string. | ||
Memadankan isi string menggunakan ekspresi reguler. Fragmen konten yang memenuhi kondisi pencocokan ditampilkan dalam array. | ||
Menambahkan karakter tertentu ke sisi kanan string hingga mencapai panjang tertentu. | ||
Menghapus karakter tertentu dari sisi kanan (akhir) string. | ||
Menghapus karakter tertentu dari awal, akhir, atau kedua sisi string. | ||
Menggabungkan nilai kolom dalam beberapa baris menjadi satu string. | ||
Memisahkan string berdasarkan pembatas tertentu dan mengembalikan segmen | ||
Menggabungkan dua string. | ||
Mengembalikan substring yang diekstraksi mulai dari posisi tertentu hingga akhir string atau substring dengan panjang tertentu yang diekstraksi mulai dari posisi tertentu. | ||
Mengekstrak substring yang sesuai dengan aturan tertentu dari string. | ||
Fungsi string lainnya | Mengembalikan nilai ASCII dari karakter pertama dalam string. | |
Mengembalikan panjang string dihitung berdasarkan jumlah karakter. | ||
Mengembalikan karakter yang cocok dengan nilai terkode. | ||
Mengonversi huruf pertama setiap kata dalam string menjadi huruf besar dan mengonversi huruf lain dari setiap kata menjadi huruf kecil. | ||
Mengembalikan posisi substring dalam string berdasarkan rentang tertentu. Jika substring tidak tersedia, fungsi ini mengembalikan 0. Fungsi ini kompatibel dengan Oracle. Sebelum Anda menggunakan fungsi ini, Anda harus menginstal ekstensi Orafce. Untuk informasi lebih lanjut, lihat Fungsi Oracle yang Didukung. | ||
Mengembalikan panjang string dihitung berdasarkan jumlah byte. Saat set karakter UTF-8 digunakan untuk mengkodekan string, satu karakter Cina menempati tiga byte, dan satu digit atau huruf menempati satu byte. | ||
Mengonversi string menjadi huruf kecil. | ||
Menghitung hash MD5 dari string. Hash MD5 adalah angka heksadesimal. | ||
Mengembalikan panjang string dihitung berdasarkan jumlah byte. | ||
Membalik urutan string. Fungsi ini kompatibel dengan Oracle. Sebelum Anda menggunakan fungsi ini, Anda harus menginstal ekstensi Orafce. Untuk informasi lebih lanjut, lihat Fungsi Oracle yang Didukung. | ||
Mengembalikan posisi substring dalam string. | ||
Mengurai string yang mengikuti aturan untuk pengidentifikasi SQL. | ||
Mengembalikan string sebagai pengidentifikasi yang dikutip dalam pernyataan SQL. | ||
Mengembalikan string sebagai string yang dikutip untuk digunakan sebagai literal string dalam pernyataan SQL. | ||
Mengulangi string sejumlah kali tertentu. | ||
Mengganti substring dalam string dengan substring lain. | ||
Mengganti substring dengan substring lain menggunakan ekspresi reguler Antarmuka Sistem Operasi Portabel (POSIX). | ||
Memisahkan string berdasarkan ekspresi reguler dan mengembalikan array. | ||
Memisahkan string dan mengonversi data yang dipisah menjadi baris. Fungsi ini dapat digunakan untuk mentranspos baris ke kolom. | ||
Mengembalikan nomor baris tempat formula berada. Fungsi ini didukung di Hologres V1.3 dan versi selanjutnya. | ||
Memeriksa apakah string dimulai dengan awalan tertentu. | ||
Mengembalikan posisi substring dalam string. | ||
Mengonversi angka menjadi nilai heksadesimal yang setara. | ||
Mengonversi string menjadi angka. | ||
Mengganti karakter dalam string dengan karakter yang ditentukan. | ||
Mengonversi string menjadi huruf besar. |
Penggabungan, pemisahan, dan padding string
STRING || STRING
Deskripsi: Menggabungkan dua string.
<string_value1> TEXT || <string_value2> TEXTParameter:
string_value1 dan string_value2: ekspresi string yang ingin digabungkan.
Nilai Kembali:
Nilai bertipe TEXT dikembalikan.
Contoh:
-- Hasil yang dikembalikan: HologreSQL. SELECT 'Holo' || 'greSQL';
CONCAT
Deskripsi: Menggabungkan dua atau lebih nilai string menjadi satu string berkelanjutan.
CONCAT(<str1> TEXT, <str2> TEXT, ..., <strN> TEXT)Parameter:
str1,...,strN: string yang ingin digabungkan.nullString dengan nilai NULL diabaikan.
Nilai Kembali:
Nilai bertipe TEXT dikembalikan.
Contoh:
SELEC CONCAT('abcde', 2, NULL, 22);Hasil berikut dikembalikan:
concat --------- abcde222
CONCAT_WS
Deskripsi: Menggunakan pembatas yang ditentukan oleh parameter pertama untuk menggabungkan string dari parameter lainnya.
CONCAT_WS(<sep> TEXT, str "any" [, str "any" [, ...] ])nullNilai any menunjukkan bahwa string dari semua tipe data didukung.
Parameter:
sep: wajib. Pembatas yang digunakan untuk menggabungkan string.
nullJika Anda menetapkan parameter ini ke NULL, fungsi ini mengembalikan NULL.
str: wajib. String yang ingin digabungkan.
nullString dengan nilai NULL diabaikan.
Nilai Kembali:
Nilai bertipe TEXT dikembalikan.
Contoh:
SELECT CONCAT_WS(',', 'abcde', 2, NULL, 22);Hasil berikut dikembalikan:
concat_ws ---------- abcde,2,22
LISTAGG
Deskripsi: Menggabungkan nilai kolom dalam beberapa baris menjadi satu string. Fungsi ini kompatibel dengan Oracle. Sebelum menggunakan fungsi ini, Anda harus menginstal ekstensi Orafce. Untuk informasi lebih lanjut, lihat Fungsi Oracle yang Didukung.
LISTAGG(<str1> TEXT [, <str2> TEXT])Parameter:
str1: wajib. Ekspresi string atau kolom yang nilainya ingin digabungkan.
str2: opsional. Pembatas.
Nilai Kembali:
Nilai bertipe TEXT dikembalikan.
Contoh:
Contoh 1:
-- Hasil yang dikembalikan: hologres. SELECT LISTAGG(t) FROM (VALUES('holo'), ('gres')) AS l(t);Contoh 2:
-- Hasil yang dikembalikan: holo.gres. SELECT LISTAGG(t, '.') FROM (VALUES('holo'), ('gres')) AS l(t);
SUBSTRING
Deskripsi: Mengekstrak substring yang sesuai dengan aturan tertentu dari string.
Ekstrak substring pada posisi tertentu dari string.
SUBSTRING(<str> TEXT [FROM <num_start> INT] [FOR <num_end> INT])Ekstrak substring yang cocok dengan ekspresi reguler POSIX dari string.
SUBSTRING(<str> TEXT FROM <pattern> TEXT)Ekstrak substring yang cocok dengan ekspresi reguler SQL dari string.
SUBSTRING(<str> TEXT FROM <pattern> TEXT FOR <escape> TEXT )
Parameter:
str: wajib. String tempat Anda ingin mengekstrak substring.
num_start dan num_end: opsional. Posisi awal dan akhir.
pattern: wajib. Ekspresi reguler berdasarkan mana substring diekstraksi.
escape: wajib. Karakter escape.
nullDalam ekspresi reguler, karakter tertentu seperti titik (
.), asterisk (*), dan tanda plus (+) memiliki makna khusus. Jika Anda ingin mencocokkan karakter ini daripada makna khususnya, Anda harus menambahkan karakter escape sebelumnya.
Nilai Kembali:
Nilai bertipe TEXT dikembalikan.
Contoh:
Contoh 1: Ekstrak substring pada posisi tertentu dari string.
SELECT SUBSTRING('Thomas' FROM 2 FOR 3);Hasil berikut dikembalikan:
substring ---------- homContoh 2: Ekstrak substring yang cocok dengan ekspresi reguler POSIX dari string.
SELECT SUBSTRING('Thomas' FROM '...$');Hasil berikut dikembalikan:
substring ---------- masContoh 3: Ekstrak substring yang cocok dengan ekspresi reguler SQL dari string.
SELECT SUBSTRING('Thomas' FROM '%#"o_a#"_' FOR '#');Hasil berikut dikembalikan:
substring ---------- oma
REGEXP_MATCH
Deskripsi: Memadankan isi string menggunakan ekspresi reguler. Fragmen konten yang memenuhi kondisi pencocokan ditampilkan dalam array.
REGEXP_MATCH(<str> TEXT, <pattern> TEXT)Parameter:
str: wajib. String yang ingin dicocokkan.
pattern: wajib. Ekspresi reguler.
Nilai Kembali:
Nilai bertipe ARRAY dikembalikan.
Contoh:
SELECT regexp_match('foobarbequebaz', '(bar)(beque)');Hasil berikut dikembalikan:
regexp_match ------------ {bar,beque}
SUBSTR
Deskripsi:
Mengembalikan substring yang diekstraksi mulai dari posisi tertentu hingga akhir string. Fungsi ini kompatibel dengan Oracle. Sebelum menggunakan fungsi ini, Anda harus menginstal ekstensi Orafce. Untuk informasi lebih lanjut, lihat Fungsi Oracle yang Didukung.
SUBSTR(<str> TEXT, <num_start> INTEGER)Parameter:
str: wajib. String tempat Anda ingin mengekstrak substring.
num_start: posisi mulai dari mana Anda ingin mengekstrak substring.
Mengembalikan substring dengan panjang tertentu yang diekstraksi mulai dari posisi tertentu. Fungsi ini kompatibel dengan Oracle. Sebelum menggunakan fungsi ini, Anda harus menginstal ekstensi Orafce. Untuk informasi lebih lanjut, lihat Fungsi Oracle yang Didukung.
SUBSTR(<str> TEXT, <num_start> INTEGER, <len> INTEGER)Parameter:
str: wajib. String tempat Anda ingin mengekstrak substring.
num_start: posisi mulai dari mana Anda ingin mengekstrak substring.
len: panjang substring yang ingin diekstrak.
Nilai Kembali:
Nilai bertipe TEXT dikembalikan.
Contoh:
Contoh 1: Ekstrak substring mulai dari karakter keempat hingga akhir string.
-- Hasil yang dikembalikan: ogres. SELECT SUBSTR('Hologres', 4);Contoh 2: Ekstrak substring lima karakter mulai dari karakter kedua string.
-- Hasil yang dikembalikan: ologr. SELECT SUBSTR('Hologres', 2, 5);
SPLIT_PART
Deskripsi: Memisahkan string berdasarkan pembatas tertentu dan mengembalikan segmen
ke-N.SPLIT_PART(<str> TEXT, <delimiter> TEXT, <num> INT)Parameter:
str: wajib. String yang ingin dipisah.
delimiter: wajib. Pembatas yang ingin digunakan untuk memisahkan string.
num: wajib. Nomor urut segmen pemisahan yang ingin dikembalikan. Nilainya harus berupa bilangan bulat dan dimulai dari 1.
Nilai Kembali:
Nilai bertipe TEXT dikembalikan. Jika nilai num melebihi jumlah segmen pemisahan, fungsi ini mengembalikan NULL.
Contoh:
CREATE TABLE split_part_test ( a text ); INSERT INTO split_part_test VALUES ('a/b/c/d/e'), ('a1/b1/c1/d1/e1'); SELECT split_part(a, '/', 2) FROM split_part_test;Hasil berikut dikembalikan:
split_part ---------- b b1
STRING_AGG
Deskripsi: Menggabungkan nilai kolom dalam beberapa baris menjadi satu string.
STRING_AGG(expression [ order_by_clause ] ) [ FILTER ( WHERE filter_clause ) ]Catatan Penggunaan: Hanya Hologres V1.3 dan versi selanjutnya yang mendukung kondisi filter.
nullJika Anda ingin menggunakan kondisi filter, Anda harus bergabung dengan grup DingTalk Hologres untuk mengajukan peningkatan atau secara manual meningkatkan instans Anda. Untuk informasi lebih lanjut tentang cara secara manual meningkatkan instans, lihat Tingkatkan instans. Untuk informasi lebih lanjut tentang cara bergabung dengan grup DingTalk Hologres, lihat Dapatkan dukungan online untuk Hologres.
Parameter:
expression: wajib. Ekspresi atau kolom yang nilainya ingin digabungkan.
order_by_clause: opsional. Urutan berdasarkan mana Anda ingin mengurutkan nilai ekspresi sebelum menggabungkan nilai tersebut menjadi string. Jika Anda tidak menentukan parameter ini, data dalam database mungkin diurutkan dengan cara yang sesuai.
FILTER ( WHERE filter_clause ): opsional. Kondisi yang digunakan untuk menyaring baris yang nilainya ingin digabungkan.
Nilai Kembali:
Nilai bertipe TEXT dikembalikan.
Contoh:
Contoh 1:
CREATE TABLE city_test ( country text, city text ); INSERT INTO city_test VALUES ('China', 'Shanghai'), ('China', 'Taipei'), ('Japan', 'Tokyo'), ('France', 'Paris'), ('Britain', 'London'); SELECT STRING_AGG(city, ',') FROM city_test;Hasil berikut dikembalikan:
string_agg ------------------------ Shanghai,Taipei,Tokyo,Paris,LondonContoh 2:
CREATE TABLE name_text ( student_id int, name text); INSERT INTO name_text VALUES ( 1, 'Jack'), ( 2, 'Mike'), ( 3, 'John'), ( 4, 'Saturday' ); SELECT STRING_AGG(name, ',') FILTER (WHERE student_id > 2) FROM name_text;Hasil berikut dikembalikan:
string_agg ---------- John,Saturday
LEFT
Deskripsi: Mengekstrak sejumlah karakter tertentu mulai dari awal string.
LEFT(<str> TEXT, <num> INT)Parameter:
str: wajib. String tempat Anda ingin mengekstrak substring.
num: wajib. Jumlah karakter yang ingin diekstrak mulai dari awal string. Nilainya harus berupa bilangan bulat.
Jika num disetel ke nilai negatif, karakter kecuali
‒numkarakter terakhir dikembalikan.
Nilai Kembali:
Nilai bertipe TEXT dikembalikan.
Contoh:
SELECT LEFT('hologres', 4);Hasil berikut dikembalikan:
left ---- holo
RIGHT
Deskripsi: Mengekstrak sejumlah karakter tertentu mulai dari akhir string.
RIGHT(<str> TEXT, <num> INT)Parameter:
str: wajib. String tempat Anda ingin mengekstrak substring.
num: wajib. Jumlah karakter yang ingin diekstrak mulai dari akhir string. Nilainya harus berupa bilangan bulat.
Jika num disetel ke nilai negatif, karakter kecuali
‒numkarakter pertama dikembalikan.
Nilai Kembali:
Nilai bertipe TEXT dikembalikan.
Contoh:
SELECT RIGHT('hologres', 4);Hasil berikut dikembalikan:
right ---------- gres
TRIM
Deskripsi: Menghapus karakter tertentu dari awal, akhir, atau kedua sisi string.
TRIM([leading | trailing | both] [<characters> TEXT] FROM STRING)Parameter:
Parameter yang menentukan posisi trim:
leading: opsional. Karakter tertentu dihapus dari awal (sisi kiri) string.
trailing: opsional. Karakter tertentu dihapus dari akhir (sisi kanan) string.
both: opsional. Karakter tertentu dihapus dari kedua sisi string. Ini adalah nilai default.
characters: opsional. Set karakter yang ingin dihapus dari string.
string: wajib. String tempat Anda ingin menghapus karakter tertentu.
Nilai Kembali:
Nilai bertipe TEXT dikembalikan.
Contoh:
-- Hasil yang dikembalikan: Tom. select TRIM(BOTH 'xyz' FROM 'yxTomxx');
BTRIM
Deskripsi: Menghapus karakter tertentu dari kedua sisi string.
BTRIM(<str> TEXT [, <characters> TEXT])Parameter:
str: wajib. String tempat Anda ingin menghapus karakter tertentu.
characters: opsional. Set karakter yang ingin dihapus dari kedua sisi string.
nullKarakter yang ditentukan dalam parameter ini dicocokkan secara independen, bukan sebagai keseluruhan.
Jika Anda tidak menentukan parameter characters, spasi digunakan secara default.
Nilai Kembali:
Nilai bertipe TEXT dikembalikan.
Contoh:
-- Hasil yang dikembalikan: trim. SELECT BTRIM('xyxtrimyyx', 'xyz');
LTRIM
Deskripsi: Menghapus karakter tertentu dari sisi kiri (awal) string.
LTRIM(<str> TEXT [, <characters> TEXT])Parameter:
str: wajib. String tempat Anda ingin menghapus karakter tertentu.
characters: opsional. Set karakter yang ingin dihapus dari sisi kiri (awal) string.
nullKarakter yang ditentukan dalam parameter ini dicocokkan secara independen, bukan sebagai keseluruhan.
Jika Anda tidak menentukan parameter characters, spasi digunakan secara default.
Nilai Kembali:
Nilai bertipe TEXT dikembalikan.
Contoh:
-- Hasil yang dikembalikan: test. SELECT LTRIM('zzzytest', 'xyz');
RTRIM
Deskripsi: Menghapus karakter tertentu dari sisi kanan (akhir) string.
RTRIM(<str> TEXT [, <characters> TEXT])Parameter:
str: wajib. String tempat Anda ingin menghapus karakter tertentu.
characters: opsional. Set karakter yang ingin dihapus dari sisi kanan (akhir) string. Jika Anda tidak menentukan parameter characters, spasi digunakan secara default.
nullKarakter yang ditentukan dalam parameter ini dicocokkan secara independen, bukan sebagai keseluruhan.
Nilai Kembali:
Nilai bertipe TEXT dikembalikan.
Contoh:
-- Hasil yang dikembalikan: test. SELECT RTRIM('testxxzx', 'xyz');
LPAD
Deskripsi: Menambahkan karakter tertentu ke sisi kiri string hingga mencapai panjang tertentu.
LPAD(<str> TEXT, <length> INT [, <fill> TEXT])Parameter:
str: wajib. String tempat Anda ingin menambahkan karakter tertentu.
length: wajib. Panjang string yang ingin dikembalikan.
nullJika panjang string tempat Anda ingin menambahkan karakter tertentu melebihi nilai parameter ini, fungsi ini memotong string dari sisi kanan ke panjang yang ditentukan.
isi: opsional. Karakter yang ingin ditambahkan sebagai padding. Jika Anda tidak menentukan parameter isi, spasi digunakan secara default.
Nilai Kembali:
Nilai bertipe TEXT dikembalikan.
Contoh:
-- Hasil yang dikembalikan: xyxhi. SELECT LPAD('hi', 5, 'xy');
RPAD
Deskripsi: Menambahkan karakter tertentu ke sisi kanan string hingga mencapai panjang tertentu.
RPAD(<str> TEXT, <length> INT [, <fill> TEXT])Parameter:
str: wajib. String tempat Anda ingin menambahkan karakter tertentu.
length: wajib. Panjang string yang ingin dikembalikan.
nullJika panjang string tempat Anda ingin menambahkan karakter tertentu melebihi nilai parameter ini, fungsi ini memotong string dari sisi kanan ke panjang yang ditentukan.
fill: opsional. Karakter yang ingin ditambahkan. Jika Anda tidak menentukan parameter fill, spasi digunakan secara default.
Nilai Kembali:
Nilai bertipe TEXT dikembalikan.
Contoh:
-- Hasil yang dikembalikan: hixyx. SELECT RPAD('hi', 5, 'xy');
Fungsi string lainnya
TO_NUMBER
Deskripsi: Mengonversi string menjadi angka.
TO_NUMBER(<str1> TEXT, <str2> TEXT)Parameter:
str1: string yang ingin dikonversi.
str2: model format, yang digunakan untuk mengurai string yang ingin dikonversi.
Nilai Kembali:
Nilai bertipe NUMERIC dikembalikan.
Contoh:
-- Hasil yang dikembalikan: -12454.8. SELECT TO_NUMBER('12,454.8-', '99G999D9S');
REPLACE
Deskripsi: Mengganti substring dalam string dengan substring lain.
REPLACE(<str> TEXT, <old_str> TEXT, <new_str> TEXT)Parameter:
str: wajib. String yang substringnya ingin diganti.
old_str: wajib. Substring yang ingin diganti.
new_str: wajib. Substring yang ingin digunakan untuk mengganti old_str.
Nilai Kembali:
Nilai bertipe TEXT dikembalikan.
Contoh:
CREATE TABLE animal_test ( animal text, color text ); INSERT INTO animal_test VALUES ('dog', 'white'), ('cat', 'white'), ('tiger', 'yellow'); SELECT animal, REPLACE(color, 'white', 'multicolored') FROM animal_test;Hasil berikut dikembalikan:
animal | replace ------------------- dog | multicolored cat | multicolored tiger | yellow
REGEXP_REPLACE
Deskripsi: Mengganti substring dengan substring lain menggunakan ekspresi reguler POSIX.
REGEXP_REPLACE(<str> TEXT, <regex> TEXT, <replacement> TEXT [, <flags> TEXT])Parameter:
str: wajib. String yang substringnya ingin diganti.
regex: wajib. Ekspresi reguler.
replacement: wajib. Substring yang ingin digunakan untuk mengganti substring yang cocok.
flags: opsional. Flag yang menunjukkan kecocokan ekspresi reguler.
Nilai Kembali:
Nilai bertipe TEXT dikembalikan.
Contoh:
CREATE TABLE a_test ( a text ); INSERT INTO a_test VALUES ('Abcd1234abCd'); SELECT REGEXP_REPLACE(a, '1234.', '77', 'ig') FROM a_test;Hasil berikut dikembalikan:
regexp_replace -------------- Abcd77bCd
PLVSTR.RVRS
Deskripsi: Membalik urutan string. Fungsi ini kompatibel dengan Oracle. Sebelum menggunakan fungsi ini, Anda harus menginstal ekstensi Orafce. Untuk informasi lebih lanjut, lihat Fungsi Oracle yang Didukung.
Ekstrak substring dari string dan balikkan urutan substring tersebut. Posisi awal dan akhir substring dalam string ditentukan.
PLVSTR.RVRS(<str> TEXT, <start> INTEGER, <end> INTEGER)Ekstrak substring dari string dan balikkan urutan substring tersebut. Substring diekstraksi mulai dari posisi tertentu hingga akhir string.
PLVSTR.RVRS(<str> TEXT, <start> INTEGER)Balikkan urutan seluruh string.
PLVSTR.RVRS(<str> TEXT)
Nilai Kembali:
Nilai bertipe TEXT dikembalikan.
Contoh:
Contoh 1: Ekstrak substring dari string dan balikkan urutan substring tersebut. Posisi awal dan akhir substring dalam string ditentukan.
-- Hasil yang dikembalikan: rg. SELECT PLVSTR.RVRS('Hologres', 5,6);Contoh 2: Ekstrak substring dari string dan balikkan urutan substring tersebut. Substring diekstraksi mulai dari posisi tertentu hingga akhir string.
-- Hasil yang dikembalikan: sergo. SELECT PLVSTR.RVRS('Hologres', 4);Contoh 3: Balikkan urutan seluruh string.
-- Hasil yang dikembalikan: sergoloH. SELECT PLVSTR.RVRS('Hologres');
CHAR_LENGTH
Deskripsi: Mengembalikan panjang string dihitung berdasarkan jumlah karakter.
CHAR_LENGTH(<str> TEXT)Nilai Kembali:
Nilai bertipe INT dikembalikan.
Contoh:
-- Hasil yang dikembalikan: 4. SELECT CHAR_LENGTH('jose');
LENGTH
Deskripsi: Mengembalikan panjang string dihitung berdasarkan jumlah byte. Saat set karakter UTF-8 digunakan untuk mengkodekan string, satu karakter Cina menempati tiga byte, dan satu digit atau huruf menempati satu byte.
LENGTH(<str> TEXT)Nilai Kembali:
Nilai bertipe INT dikembalikan.
Contoh:
-- Hasil yang dikembalikan: 4. SELECT LENGTH('jose');nullSatu karakter Inggris menempati satu byte. Oleh karena itu, hasil perhitungan fungsi
LENGTHuntuk karakter Inggris sama dengan hasil perhitungan fungsiCHAR_LENGTH.
LOWER
Deskripsi: Mengonversi string menjadi huruf kecil.
LOWER(<str> TEXT)Nilai Kembali:
Nilai bertipe TEXT dikembalikan.
Contoh:
-- Hasil yang dikembalikan: tom. SELECT LOWER('TOM');
UPPER
Deskripsi: Mengonversi string menjadi huruf besar.
UPPER(<str> TEXT)Nilai Kembali:
Nilai bertipe TEXT dikembalikan.
Contoh:
-- Hasil yang dikembalikan: TOM. SELECT UPPER('tom');
INITCAP
Deskripsi: Mengonversi huruf pertama setiap kata dalam string menjadi huruf besar dan mengonversi huruf lain dari setiap kata menjadi huruf kecil.
INITCAP(<str> TEXT)nullKata terdiri dari huruf dan angka, sehingga dipisahkan oleh karakter selain huruf atau angka.
Nilai Kembali:
Nilai bertipe TEXT dikembalikan.
Contoh:
-- Hasil yang dikembalikan: Hi Thomas. SELECT INITCAP('hi THOMAS');
OCTET_LENGTH
Deskripsi: Mengembalikan panjang string dihitung berdasarkan jumlah byte.
OCTET_LENGTH(<str> TEXT)Nilai Kembali:
Nilai bertipe INT dikembalikan.
Contoh:
-- Hasil yang dikembalikan: 4. SELECT OCTET_LENGTH('jose');
POSITION
Deskripsi: Mengembalikan posisi substring dalam string.
POSITION(<substr> TEXT IN <str> TEXT)Parameter:
substr: wajib. Substring.
str: String.
Nilai Kembali:
Nilai bertipe INT dikembalikan.
Contoh:
-- Hasil yang dikembalikan: 3. SELECT POSITION('om' IN 'Thomas');
STRPOS
Deskripsi: Mengembalikan posisi substring dalam string.
STRPOS(<str> TEXT, <substr> TEXT)Parameter:
str: wajib. String.
substr: wajib. Substring.
Nilai Kembali:
Nilai bertipe INT dikembalikan.
Contoh:
-- Hasil yang dikembalikan: 2. SELECT STRPOS('high', 'ig');
INSTR
Deskripsi: Mengembalikan posisi substring dalam string berdasarkan rentang tertentu. Jika substring tidak tersedia, fungsi ini mengembalikan 0. Fungsi ini kompatibel dengan Oracle. Sebelum menggunakan fungsi ini, Anda harus menginstal ekstensi Orafce. Untuk informasi lebih lanjut, lihat Fungsi Oracle yang Didukung.
INSTR(<str> TEXT, <patt> TEXT [, <start> INTEGER, <nth> INTEGER])Parameter:
str: wajib. String.
patt: wajib. Substring yang ingin dicocokkan.
start: opsional. Posisi awal dari mana substring dicocokkan. Jika Anda tidak menentukan parameter ini, substring dicocokkan dari awal string.
nth: opsional. Posisi kemunculan ke-n substring dikembalikan. Jika Anda tidak menentukan parameter ini, fungsi ini mengembalikan posisi kemunculan pertama substring.
Nilai Kembali:
Nilai bertipe INT dikembalikan.
Contoh:
Contoh 1:
-- Hasil yang dikembalikan: 4. SELECT INSTR('Hologres', 'o',1,2);Contoh 2:
-- Hasil yang dikembalikan: 2. SELECT INSTR('Hologres', 'o',1,1);Contoh 3:
-- Hasil yang dikembalikan: 4. SELECT INSTR('Hologres', 'o',4);Contoh 4:
-- Hasil yang dikembalikan: 2. SELECT INSTR('Hologres', 'o');
MD5
Deskripsi: Menghitung hash MD5 dari string. Hash MD5 adalah angka heksadesimal.
MD5(<str> TEXT)Nilai Kembali:
Nilai bertipe TEXT dikembalikan.
Contoh:
-- Hasil yang dikembalikan: 900150983cd24fb0d6963f7d28e17f72. SELECT MD5('abc');
PARSE_IDENT
Deskripsi: Mengurai string yang mengikuti aturan untuk pengidentifikasi SQL.
PARSE_IDENT(<quali_iden> TEXT [,...] )Parameter:
parse_ident: wajib. String yang ingin diurai, yang biasanya merupakan pengidentifikasi lengkap objek database.
Nilai Kembali:
Nilai bertipe TEXT dikembalikan.
Contoh:
-- Hasil yang dikembalikan: {"SomeSchema","sometable"}. SELECT PARSE_IDENT('"SomeSchema".someTable');
QUOTE_IDENT
Deskripsi: Mengembalikan string sebagai pengidentifikasi yang dikutip dalam pernyataan SQL.
QUOTE_IDENT(<str> TEXT)nullFungsi ini menambahkan tanda kutip ganda (") saat string berisi karakter non-pengidentifikasi atau akan dilipat kasusnya.
Nilai Kembali:
Nilai bertipe TEXT dikembalikan.
Contoh:
-- Hasil yang dikembalikan: "Foo bar". SELECT QUOTE_IDENT('Foo bar');
QUOTE_LITERAL
Deskripsi: Mengembalikan string sebagai string yang dikutip untuk digunakan sebagai literal string dalam pernyataan SQL.
QUOTE_LITERAL(<str> TEXT)Nilai Kembali:
Nilai bertipe TEXT dikembalikan.
Contoh:
-- Hasil yang dikembalikan: 'O''Reilly'. SELECT QUOTE_LITERAL(E'O\'Reilly');
ASCII
Deskripsi: Mengembalikan nilai ASCII dari karakter pertama dalam string.
ASCII(<str> TEXT)Nilai Kembali:
Nilai bertipe TEXT dikembalikan.
Contoh:
-- Hasil yang dikembalikan: 120. SELECT ASCII('x');
CHR
Deskripsi: Mengembalikan karakter yang sesuai dengan nilai terkode.
CHR(<num> INT)Nilai Kembali:
Nilai bertipe TEXT dikembalikan.
Contoh:
-- Hasil yang dikembalikan: A. SELECT CHR(65);
REPEAT
Deskripsi: Mengulangi string sejumlah kali tertentu.
REPEAT(<str> TEXT, <number> INT)Parameter:
str: wajib. String.
number: wajib. Jumlah kali Anda ingin mengulangi string.
Nilai Kembali:
Nilai bertipe TEXT dikembalikan.
Contoh:
-- Hasil yang dikembalikan: PgPgPgPg. SELECT REPEAT('Pg', 4);
STARTS_WITH
Deskripsi: Memeriksa apakah string dimulai dengan awalan tertentu.
STARTS_WITH(<str> TEXT, <prefix> TEXT)Parameter:
str: wajib. String.
prefix: wajib. Awalan.
Nilai Kembali:
Nilai bertipe BOOLEAN dikembalikan. Jika string dimulai dengan awalan tertentu, fungsi ini mengembalikan t, yang menunjukkan true. Dalam kasus lain, fungsi ini mengembalikan f, yang menunjukkan false.
Contoh:
-- Hasil yang dikembalikan: t. SELECT STARTS_WITH('alphabet', 'alph');
REGEXP_SPLIT_TO_TABLE
Deskripsi: Memisahkan string dan mengonversi data yang dipisah menjadi baris. Fungsi ini dapat digunakan untuk mentranspos baris ke kolom.
REGEXP_SPLIT_TO_TABLE(<str> TEXT, <pattern> TEXT)Parameter:
str: wajib. String yang ingin dipisah.
pattern: wajib. Ekspresi reguler berdasarkan mana string dipisah. String dipisah berdasarkan karakter spesial dan konstruksi dalam ekspresi reguler.
Nilai Kembali:
Nilai bertipe TEXT dikembalikan.
Contoh:
CREATE TABLE interests_test ( name text, intrests text ); INSERT INTO interests_test VALUES ('Ava', 'singing, dancing'), ('Bob', 'playing football, running, painting'), ('Jack', 'arranging flowers, writing calligraphy, playing the piano, sleeping'); SELECT name, REGEXP_SPLIT_TO_TABLE(intrests, ',') FROM interests_test;Hasil berikut dikembalikan:
name | regexp_split_to_table --------------------------- Ava | singing Ava | dancing Bob | playing football Bob | running Bob | painting Jack | arranging flowers Jack | writing calligraphy Jack | playing the piano Jack | sleeping
REGEXP_SPLIT_TO_ARRAY
Deskripsi: Memisahkan string berdasarkan ekspresi reguler dan mengembalikan array.
REGEXP_SPLIT_TO_ARRAY(<str> TEXT, <pattern> TEXT)Parameter:
str: wajib. String yang ingin dipisah.
pattern: wajib. Ekspresi reguler berdasarkan mana string dipisah. String dipisah berdasarkan karakter spesial dan konstruksi dalam ekspresi reguler.
Nilai Kembali:
Nilai bertipe ARRAY dikembalikan.
Contoh:
CREATE TABLE interests_test ( name text, intrests text ); INSERT INTO interests_test VALUES ('Ava', 'singing, dancing'), ('Bob', 'playing football, running, painting'), ('Jack', 'arranging flowers, writing calligraphy, playing the piano, sleeping'); SELECT name, REGEXP_SPLIT_TO_ARRAY(intrests, ',') FROM interests_test;Hasil berikut dikembalikan:
name | regexp_split_to_array ---------------------------- Ava | {singing, dancing} Bob | {playing football, running, painting} Jack | {arranging flowers, writing calligraphy, playing the piano, sleeping}
TO_HEX
Deskripsi: Mengonversi angka menjadi nilai heksadesimal yang setara.
TO_HEX(<number> INT OR BIGINT)Nilai Kembali:
Nilai bertipe TEXT dikembalikan.
Contoh:
-- Hasil yang dikembalikan: 7fffffff. SELECT TO_HEX(2147483647);
TRANSLATE
Deskripsi: Mengganti karakter dalam string dengan karakter yang ditentukan.
TRANSLATE(<str> TEXT, FROM <substr> TEXT, TO <newstr> TEXT)Parameter:
str: wajib. String.
substr: wajib. Substring yang ingin diganti.
newstr: wajib. Substring yang ingin digunakan untuk mengganti substr.
Nilai Kembali:
Nilai bertipe TEXT dikembalikan.
Contoh:
-- Hasil yang dikembalikan: a2x5. SELECT TRANSLATE('12345', '143', 'ax');
ROW
Deskripsi: Mengembalikan nomor baris tempat formula berada.
ROW()Catatan Penggunaan: Fungsi ini hanya didukung di Hologres V1.3 dan versi selanjutnya.
nullJika instans Hologres Anda adalah versi sebelumnya, tingkatkan instans Anda secara manual atau bergabunglah dengan grup DingTalk Hologres untuk mengajukan peningkatan. Untuk informasi lebih lanjut, lihat Dapatkan dukungan online untuk Hologres.
Nilai Kembali:
Nilai bertipe ARRAY atau TEXT dikembalikan.
Contoh:
CREATE TABLE row_test ( a text, b text ); INSERT INTO row_test VALUES ('0', '0'), ('1', '0'); SELECT a, b FROM row_test WHERE ROW (a, b) = ROW (b, a);Hasil berikut dikembalikan:
a | b ------ 0 | 0