全部产品
Search
文档中心

Hologres:Fungsi string

更新时间:Jun 23, 2025

Topik ini menjelaskan fungsi string yang didukung oleh Hologres dan memberikan contoh penggunaannya.

null

Untuk informasi lebih lanjut tentang cara menggunakan fungsi string yang kompatibel dengan PostgreSQL, lihat Fungsi PostgreSQL.

Tipe

Fungsi

Deskripsi

Penggabungan, pemisahan, dan padding string

BTRIM

Menghapus karakter tertentu dari kedua sisi string.

CONCAT

Menggabungkan dua atau lebih nilai string dan mengembalikan string yang berkelanjutan.

CONCAT_WS

Menggunakan pembatas yang ditentukan oleh parameter pertama untuk menggabungkan string yang ditentukan oleh parameter lainnya.

LEFT

Mengekstrak sejumlah karakter tertentu mulai dari awal string.

LISTAGG

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.

LPAD

Menambahkan karakter tertentu ke sisi kiri string hingga mencapai panjang tertentu.

LTRIM

Menghapus karakter tertentu dari sisi kiri (awal) string.

REGEXP_MATCH

Memadankan isi string menggunakan ekspresi reguler. Fragmen konten yang memenuhi kondisi pencocokan ditampilkan dalam array.

RPAD

Menambahkan karakter tertentu ke sisi kanan string hingga mencapai panjang tertentu.

RTRIM

Menghapus karakter tertentu dari sisi kanan (akhir) string.

TRIM

Menghapus karakter tertentu dari awal, akhir, atau kedua sisi string.

STRING_AGG

Menggabungkan nilai kolom dalam beberapa baris menjadi satu string.

SPLIT_PART

Memisahkan string berdasarkan pembatas tertentu dan mengembalikan segmen ke-N.

STRING || STRING

Menggabungkan dua string.

SUBSTR

Mengembalikan substring yang diekstraksi mulai dari posisi tertentu hingga akhir string atau substring dengan panjang tertentu yang diekstraksi mulai dari posisi tertentu.

SUBSTRING

Mengekstrak substring yang sesuai dengan aturan tertentu dari string.

Fungsi string lainnya

ASCII

Mengembalikan nilai ASCII dari karakter pertama dalam string.

CHAR_LENGTH

Mengembalikan panjang string dihitung berdasarkan jumlah karakter.

CHR

Mengembalikan karakter yang cocok dengan nilai terkode.

INITCAP

Mengonversi huruf pertama setiap kata dalam string menjadi huruf besar dan mengonversi huruf lain dari setiap kata menjadi huruf kecil.

INSTR

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.

LENGTH

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.

LOWER

Mengonversi string menjadi huruf kecil.

MD5

Menghitung hash MD5 dari string. Hash MD5 adalah angka heksadesimal.

OCTET_LENGTH

Mengembalikan panjang string dihitung berdasarkan jumlah byte.

PLVSTR.RVRS

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.

POSITION

Mengembalikan posisi substring dalam string.

PARSE_IDENT

Mengurai string yang mengikuti aturan untuk pengidentifikasi SQL.

QUOTE_IDENT

Mengembalikan string sebagai pengidentifikasi yang dikutip dalam pernyataan SQL.

QUOTE_LITERAL

Mengembalikan string sebagai string yang dikutip untuk digunakan sebagai literal string dalam pernyataan SQL.

REPEAT

Mengulangi string sejumlah kali tertentu.

REPLACE

Mengganti substring dalam string dengan substring lain.

REGEXP_REPLACE

Mengganti substring dengan substring lain menggunakan ekspresi reguler Antarmuka Sistem Operasi Portabel (POSIX).

REGEXP_SPLIT_TO_ARRAY

Memisahkan string berdasarkan ekspresi reguler dan mengembalikan array.

REGEXP_SPLIT_TO_TABLE

Memisahkan string dan mengonversi data yang dipisah menjadi baris. Fungsi ini dapat digunakan untuk mentranspos baris ke kolom.

ROW

Mengembalikan nomor baris tempat formula berada. Fungsi ini didukung di Hologres V1.3 dan versi selanjutnya.

STARTS_WITH

Memeriksa apakah string dimulai dengan awalan tertentu.

STRPOS

Mengembalikan posisi substring dalam string.

TO_HEX

Mengonversi angka menjadi nilai heksadesimal yang setara.

TO_NUMBER

Mengonversi string menjadi angka.

TRANSLATE

Mengganti karakter dalam string dengan karakter yang ditentukan.

UPPER

Mengonversi string menjadi huruf besar.

Penggabungan, pemisahan, dan padding string

STRING || STRING

  • Deskripsi: Menggabungkan dua string.

    <string_value1> TEXT || <string_value2> TEXT
  • Parameter:

    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.

    null

    String 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" [, ...] ])
    null

    Nilai any menunjukkan bahwa string dari semua tipe data didukung.

  • Parameter:

    • sep: wajib. Pembatas yang digunakan untuk menggabungkan string.

      null

      Jika Anda menetapkan parameter ini ke NULL, fungsi ini mengembalikan NULL.

    • str: wajib. String yang ingin digabungkan.

      null

      String 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.

      null

      Dalam 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
      ----------
      hom
    • Contoh 2: Ekstrak substring yang cocok dengan ekspresi reguler POSIX dari string.

      SELECT SUBSTRING('Thomas' FROM '...$');

      Hasil berikut dikembalikan:

      substring
      ----------
      mas
    • Contoh 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.

    null

    Jika 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,London
    • Contoh 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 ‒num karakter 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 ‒num karakter 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.

      null

      Karakter 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.

      null
      • Karakter 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.

      null

      Karakter 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.

      null

      Jika 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.

      null

      Jika 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');
    null

    Satu karakter Inggris menempati satu byte. Oleh karena itu, hasil perhitungan fungsi LENGTH untuk karakter Inggris sama dengan hasil perhitungan fungsi CHAR_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)
    null

    Kata 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)
    null

    Fungsi 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.

    null

    Jika 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