All Products
Search
Document Center

Hologres:Fungsi string

Last Updated:Feb 28, 2026

Topik ini menjelaskan fungsi string yang didukung oleh Hologres beserta contohnya.

Catatan

Untuk informasi lebih lanjut mengenai fungsi string yang kompatibel dengan PostgreSQL, lihat PostgreSQL Functions.

Type

Function

Feature

String concatenation, splitting, and padding

BTRIM

Menghapus karakter yang ditentukan dari kedua ujung string.

CONCAT

Menggabungkan dua atau lebih nilai string dan mengembalikan satu string tunggal.

CONCAT_WS

Menggabungkan semua argumen kecuali argumen pertama, menggunakan argumen pertama sebagai pemisah.

LEFT

Mengekstrak sejumlah karakter tertentu dari awal string.

LISTAGG

Mengagregasi nilai-nilai dari kolom yang sama di beberapa baris menjadi satu string tunggal. Ini adalah fungsi yang kompatibel dengan Oracle. Anda harus menginstal ekstensi orafce terlebih dahulu. Untuk informasi lebih lanjut, lihat Oracle-compatible functions.

LPAD

Menambahkan karakter yang ditentukan di sisi kiri string hingga mencapai panjang total yang ditentukan.

LTRIM

Menghapus karakter yang ditentukan dari sisi kiri (awal) string.

REGEXP_MATCH

Mencocokkan string terhadap ekspresi reguler dan mengembalikan hasil pencocokan dalam bentuk array.

RPAD

Menambahkan karakter yang ditentukan di sisi kanan string hingga mencapai panjang total yang ditentukan.

RTRIM

Menghapus karakter yang ditentukan dari sisi kanan (akhir) string.

TRIM

Menghapus karakter yang ditentukan dari awal, akhir, atau kedua ujung string.

STRING_AGG

Mengagregasi nilai-nilai dari kolom yang sama di beberapa baris menjadi satu string tunggal.

SPLIT_PART

Memisahkan string berdasarkan pemisah yang ditentukan dan mengembalikan segmen ke-num.

STRING || STRING

Menggabungkan dua string.

SUBSTR

Mengekstrak substring dari posisi awal yang ditentukan hingga akhir string atau untuk panjang yang ditentukan.

SUBSTRING

Mengekstrak substring dari string target berdasarkan aturan yang ditentukan.

Other string functions

ASCII

Mengembalikan kode ASCII dari karakter pertama dalam string.

CHAR_LENGTH

Mengembalikan panjang karakter dari sebuah string.

CHR

Mengembalikan karakter yang sesuai dengan nilai kode yang ditentukan.

INITCAP

Mengubah huruf pertama setiap kata menjadi huruf kapital dan sisanya menjadi huruf kecil.

INSTR

Menemukan posisi substring dalam rentang yang ditentukan dari string target. Fungsi ini mengembalikan posisi jika ditemukan, atau 0 jika tidak ditemukan. Ini adalah fungsi yang kompatibel dengan Oracle. Anda harus menginstal ekstensi orafce terlebih dahulu. Untuk informasi lebih lanjut, lihat Oracle-compatible functions.

LENGTH

Mengembalikan jumlah karakter dalam string.

LOWER

Mengonversi string menjadi huruf kecil.

MD5

Menghitung hash MD5 dari sebuah string. Hasilnya dikembalikan dalam format heksadesimal.

OCTET_LENGTH

Mengembalikan jumlah byte dalam string.

PLVSTR.RVRS

Membalik urutan string. Ini adalah fungsi yang kompatibel dengan Oracle. Anda harus menginstal ekstensi orafce terlebih dahulu. Untuk informasi lebih lanjut, lihat Oracle-compatible functions.

POSITION

Menemukan posisi substring dalam string target.

PARSE_IDENT

Mengurai string yang mematuhi aturan identifier SQL.

QUOTE_IDENT

Memberi tanda kutip pada string agar menjadi identifier SQL yang valid.

QUOTE_LITERAL

Mengonversi string menjadi konstanta string SQL yang valid.

REPEAT

Mengulang string sejumlah kali yang ditentukan.

REPLACE

Menemukan semua kemunculan substring yang ditentukan dalam string sumber dan menggantinya dengan string lain.

REGEXP_REPLACE

Mengganti substring dengan substring baru menggunakan ekspresi reguler POSIX.

REGEXP_SPLIT_TO_ARRAY

Memisahkan string menggunakan ekspresi reguler dan mengembalikan hasilnya sebagai array.

REGEXP_SPLIT_TO_TABLE

Fungsi pemisahan string ini membagi string menjadi beberapa baris, sehingga memungkinkan transformasi dari baris ke kolom.

ROW

Mengembalikan nomor baris tempat formula tersebut berada. Fungsi ini hanya didukung di Hologres V1.3 dan versi yang lebih baru.

STARTS_WITH

Memeriksa apakah string target diawali dengan awalan yang ditentukan.

STRPOS

Menemukan posisi substring dalam string target.

TO_HEX

Mengonversi angka ke representasi heksadesimalnya.

TO_NUMBER

Mengonversi string ke tipe numerik.

TRANSLATE

Mengganti karakter dalam string dengan karakter yang ditentukan.

UPPER

Mengonversi string menjadi huruf kapital.

String concatenation, splitting, and padding

STRING || STRING

  • Description: Menggabungkan dua string.

    <string_value1> TEXT || <string_value2> TEXT
  • Parameters

    string_value1 dan string_value2: Ekspresi string yang akan digabungkan.

  • Return value

    Mengembalikan tipe TEXT.

  • Example

    --Returns: HologreSQL
    SELECT 'Holo' || 'greSQL';

CONCAT

  • Description: Menggabungkan dua atau lebih nilai string menjadi satu string tunggal.

    CONCAT(<str1> TEXT, <str2> TEXT, ..., <strN> TEXT)
  • Parameters

    str1,...,strN: String yang akan digabungkan.

    Catatan

    Argumen NULL diabaikan.

  • Return value

    Mengembalikan tipe TEXT.

  • Example

    SELECT CONCAT('abcde', 2, NULL, 22);

    Perintah ini mengembalikan hasil berikut.

    concat
    ---------
    abcde222

CONCAT_WS

  • Description: Menggabungkan semua argumen kecuali argumen pertama, yang digunakan sebagai pemisah.

    CONCAT_WS(<sep> TEXT, str "any" [, str "any" [, ...] ])
    Catatan

    Tipe data `any` menunjukkan bahwa semua tipe data didukung.

  • Parameters

    • sep: Wajib. Pemisah yang disisipkan di antara string.

      Catatan

      Jika nilainya NULL, fungsi mengembalikan NULL.

    • str: Wajib. String yang akan digabungkan.

      Catatan

      Argumen NULL diabaikan.

  • Return value

    Mengembalikan tipe TEXT.

  • Example

    SELECT CONCAT_WS(',', 'abcde', 2, NULL, 22);

    Perintah ini mengembalikan hasil berikut.

    concat_ws
    ----------
    abcde,2,22

LISTAGG

  • Description: Mengagregasi nilai-nilai dari kolom yang sama di beberapa baris menjadi satu string tunggal. Ini adalah fungsi yang kompatibel dengan Oracle. Anda harus menginstal ekstensi orafce terlebih dahulu. Untuk informasi lebih lanjut, lihat Oracle-compatible functions.

    LISTAGG(<str1> TEXT [, <str2> TEXT])
  • Parameters

    • str1: Wajib. Ekspresi string atau nama kolom yang akan diagregasi.

    • str2: Opsional. Pemisah.

  • Return value

    Mengembalikan tipe TEXT.

  • Examples

    • Example 1

      --Returns: hologres
      SELECT LISTAGG(t) FROM (VALUES('holo'), ('gres')) AS l(t);
    • Example 2

      --Returns: holo.gres
      SELECT LISTAGG(t, '.') FROM (VALUES('holo'), ('gres')) AS l(t);

SUBSTRING

  • Description: Mengekstrak substring dari string target berdasarkan aturan yang ditentukan.

    • Mengekstrak substring dari posisi tertentu dalam string.

      SUBSTRING(<str> TEXT [FROM <num_start> INT] [FOR <num_end> INT])
    • Mengekstrak substring yang cocok dengan ekspresi reguler POSIX.

      SUBSTRING(<str> TEXT FROM <pattern> TEXT)
    • Mengekstrak substring yang cocok dengan ekspresi reguler SQL.

      SUBSTRING(<str> TEXT FROM <pattern> TEXT FOR <escape> TEXT )
  • Parameters

    • str: Wajib. String target.

    • num_start dan num_end: Opsional. Posisi awal dan akhir.

    • pattern: Wajib. Ekspresi reguler yang menentukan cara mencocokkan dan mengekstrak substring.

    • escape: Wajib. Karakter escape.

      Catatan

      Dalam ekspresi reguler, beberapa karakter seperti ., *, dan + memiliki makna khusus. Untuk mencocokkan karakter-karakter ini secara literal, Anda harus mendahuluinya dengan karakter escape.

  • Return value

    Mengembalikan tipe TEXT.

  • Examples

    • Example 1: Mengekstrak substring dari posisi tertentu dalam string.

      SELECT SUBSTRING('Thomas' FROM 2 FOR 3);

      Perintah ini mengembalikan hasil berikut.

      substring
      ----------
      hom
    • Example 2: Mengekstrak substring yang cocok dengan ekspresi reguler POSIX.

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

      Perintah ini mengembalikan hasil berikut.

      substring
      ----------
      mas
    • Example 3: Mengekstrak substring yang cocok dengan ekspresi reguler SQL.

      SELECT SUBSTRING('Thomas' FROM '%#"o_a#"_' FOR '#');

      Perintah ini mengembalikan hasil berikut.

      substring
      ----------
      oma

REGEXP_MATCH

  • Description: Mencocokkan string terhadap ekspresi reguler dan mengembalikan hasil pencocokan dalam bentuk array.

    REGEXP_MATCH(<str> TEXT, <pattern> TEXT) 
  • Parameters

    • str: Wajib. String yang akan dicocokkan.

    • pattern: Wajib. Ekspresi reguler.

  • Return value

    Mengembalikan tipe ARRAY.

  • Example

    SELECT regexp_match('foobarbequebaz', '(bar)(beque)');

    Perintah ini mengembalikan hasil berikut.

    regexp_match
    ------------
    {bar,beque}

SUBSTR

  • Description

    • Mengekstrak substring dari posisi awal yang ditentukan hingga akhir string. Ini adalah fungsi yang kompatibel dengan Oracle. Anda harus menginstal ekstensi orafce terlebih dahulu. Untuk informasi lebih lanjut, lihat Oracle-compatible functions.

      SUBSTR(<str> TEXT, <num_start> INTEGER)

      Parameters:

      • str: Wajib. String target.

      • num_start: Wajib. Posisi awal untuk ekstraksi substring.

    • Mengekstrak substring dengan panjang tertentu dari posisi awal yang ditentukan. Ini adalah fungsi yang kompatibel dengan Oracle. Anda harus menginstal ekstensi orafce terlebih dahulu. Untuk informasi lebih lanjut, lihat Oracle-compatible functions.

      SUBSTR(<str> TEXT, <num_start> INTEGER, <len> INTEGER)

      Parameters:

      • str: Wajib. String target.

      • num_start: Wajib. Posisi awal untuk ekstraksi substring.

      • len: Panjang substring yang dikembalikan.

  • Return value

    Mengembalikan tipe TEXT.

  • Examples

    • Example 1: Mengekstrak substring mulai dari karakter keempat hingga akhir string.

      --Returns: ogres
      SELECT SUBSTR('Hologres', 4);
    • Example 2: Mengekstrak lima karakter mulai dari karakter kedua.

      --Returns: ologr
      SELECT SUBSTR('Hologres', 2, 5);

SPLIT_PART

  • Description: Memisahkan string berdasarkan pemisah yang ditentukan dan mengembalikan segmen ke-num.

    SPLIT_PART(<str> TEXT, <delimiter> TEXT, <num> INT)
  • Parameters

    • str: Wajib. String target yang akan dipisahkan.

    • delimiter: Wajib. Pemisah yang digunakan untuk memisahkan.

    • num: Wajib. Bilangan bulat yang menentukan segmen mana yang akan dikembalikan. Indeks dimulai dari 1.

  • Return value

    Mengembalikan tipe TEXT. Jika `num` lebih besar dari jumlah segmen, fungsi mengembalikan NULL.

  • Example

    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;

    Perintah ini mengembalikan hasil berikut.

    split_part 
    ----------
    b
    b1

STRING_AGG

  • Description: Mengagregasi nilai-nilai dari kolom yang sama di beberapa baris menjadi satu string tunggal.

    STRING_AGG(expression [ order_by_clause ] ) [ FILTER ( WHERE filter_clause ) ]

    Klausa `FILTER` hanya didukung di Hologres V1.3 dan versi yang lebih baru.

    Catatan

    Untuk menggunakan fitur ini, Anda harus melakukan upgrade instans Anda. Untuk informasi lebih lanjut, lihat Upgrade an instance. Anda juga dapat bergabung dengan grup DingTalk Hologres untuk mendapatkan dukungan. Untuk informasi tentang cara bergabung, lihat How do I get more online support?.

  • Parameters

    • expression: Wajib. Ekspresi atau nama kolom yang akan digabungkan menjadi string.

    • order_by_clause: Opsional. Menentukan urutan pengurutan nilai dalam `expression` sebelum digabungkan. Jika parameter ini tidak ditentukan, database dapat mengurutkannya dalam urutan apa pun.

    • FILTER ( WHERE filter_clause ): Opsional. Menentukan kondisi untuk memfilter baris yang disertakan dalam agregasi.

  • Return value

    Mengembalikan tipe TEXT.

  • Examples

    • Example 1

      CREATE TABLE city_test (
          country text,
          city text
      );
      
      INSERT INTO city_test
          VALUES ('China', 'Shanghai'), ('China', 'Taiwan'), ('Japan', 'Tokyo'), ('France', 'Paris'), ('UK', 'London');
      
      SELECT
          STRING_AGG(city, ',')
      FROM
          city_test;

      Perintah ini mengembalikan hasil berikut.

      string_agg
      ------------------------
      Shanghai,Taiwan,Tokyo,Paris,London
    • Example 2

      CREATE TABLE name_text (
          student_id int,
          name text);
      INSERT INTO name_text
          VALUES (
              1, 'Zhang San'), (
              2, 'Li Si'), (
              3, 'Wang Wu'), (
              4, 'Zhou Liu'
      );
      
      SELECT
          STRING_AGG(name, ',') FILTER (WHERE student_id > 2)
      FROM
          name_text;

      Perintah ini mengembalikan hasil berikut.

      string_agg
      ----------
      Wang Wu,Saturday

LEFT

  • Description: Mengekstrak sejumlah karakter tertentu dari awal string.

    LEFT(<str> TEXT, <num> INT)
  • Parameters

    • str: Wajib. String target.

    • num: Wajib. Bilangan bulat yang menentukan jumlah karakter yang diekstrak dari awal string.

      Jika `num` bernilai negatif, fungsi mengembalikan semua karakter kecuali -num karakter terakhir.

  • Return value

    Mengembalikan tipe TEXT.

  • Example

    SELECT LEFT('hologres', 4);

    Perintah ini mengembalikan hasil berikut.

    left
    ----
    holo

RIGHT

  • Description: Mengekstrak sejumlah karakter tertentu dari akhir string.

    RIGHT(<str> TEXT, <num> INT)
  • Parameters

    • str: Wajib. String target.

    • num: Wajib. Bilangan bulat yang menentukan jumlah karakter yang diekstrak dari akhir string.

      Jika `num` bernilai negatif, fungsi mengembalikan semua karakter kecuali -num karakter pertama.

  • Return value

    Mengembalikan tipe TEXT.

  • Example

    SELECT RIGHT('hologres', 4);

    Perintah ini mengembalikan hasil berikut.

    right
    ----------
    gres

TRIM

  • Description: Menghapus karakter yang ditentukan dari awal, akhir, atau kedua ujung string.

    TRIM([leading | trailing | both] [<characters> TEXT] FROM STRING)
  • Parameters

    • Posisi penghapusan. Secara default, karakter dihapus dari kedua ujung. Nilai yang valid adalah:

      • leading: Opsional. Menghapus karakter yang ditentukan hanya dari awal (sisi kiri) string.

      • trailing: Opsional. Menghapus karakter yang ditentukan dari akhir (sisi kanan) string.

      • both: Opsional. Menghapus karakter yang ditentukan dari kedua ujung string.

    • characters: Opsional. Kumpulan karakter yang akan dihapus.

    • string: Wajib. String target.

  • Return value

    Mengembalikan tipe TEXT.

  • Example

    --Returns: Tom
    select TRIM(BOTH 'xyz' FROM 'yxTomxx');

BTRIM

  • Description: Menghapus karakter yang ditentukan dari kedua ujung string.

    BTRIM(<str> TEXT [, <characters> TEXT])
  • Parameters

    • str: Wajib. String target.

    • characters: Opsional. Kumpulan karakter yang akan dihapus dari kedua ujung string target.

      Catatan

      Parameter ini mencocokkan setiap karakter dalam set karakter secara individual, bukan sebagai string utuh.

      Jika parameter `characters` tidak ditentukan, nilai default-nya adalah spasi.

  • Return value

    Mengembalikan tipe TEXT.

  • Example

    --Returns: trim
    SELECT BTRIM('xyxtrimyyx', 'xyz');

LTRIM

  • Description: Menghapus karakter yang ditentukan dari sisi kiri (awal) string.

    LTRIM(<str> TEXT [, <characters> TEXT])
  • Parameters

    • str: Wajib. String target.

    • characters: Opsional. Kumpulan karakter yang akan dihapus dari sisi kiri (awal) string target.

      Catatan
      • Parameter ini mencocokkan setiap karakter dalam set karakter secara individual, bukan sebagai string utuh.

      • Jika parameter `characters` tidak ditentukan, nilai default-nya adalah spasi.

  • Return value

    Mengembalikan tipe TEXT.

  • Example

    -- Returns: test
    SELECT LTRIM('zzzytest', 'xyz');

RTRIM

  • Description: Menghapus karakter yang ditentukan dari sisi kanan (akhir) string.

    RTRIM(<str> TEXT [, <characters> TEXT])
  • Parameters

    • str: Wajib. String target.

    • characters: Opsional. Kumpulan karakter yang akan dihapus dari sisi kanan (akhir) string target. Jika parameter `characters` tidak ditentukan, nilai default-nya adalah spasi.

      Catatan

      Parameter ini mencocokkan setiap karakter dalam set karakter secara individual, bukan sebagai string utuh.

  • Return value

    Mengembalikan tipe TEXT.

  • Example

    -- Returns: test
    SELECT RTRIM('testxxzx', 'xyz');

LPAD

  • Description: Menambahkan karakter yang ditentukan di sisi kiri string hingga mencapai panjang total yang ditentukan.

    LPAD(<str> TEXT, <length> INT [, <fill> TEXT])
  • Parameters

    • str: Wajib. String target.

    • length: Wajib. Panjang total string hasil.

      Catatan

      Jika string target lebih panjang dari `length`, fungsi memotong string dari sisi kanan hingga mencapai panjang yang ditentukan.

    • fill: Opsional. Karakter yang digunakan untuk padding. Jika parameter ini tidak ditentukan, nilai default-nya adalah spasi.

  • Return value

    Mengembalikan tipe TEXT.

  • Example

    --Returns: xyxhi
    SELECT LPAD('hi', 5, 'xy');

RPAD

  • Description: Menambahkan karakter yang ditentukan di sisi kanan string hingga mencapai panjang total yang ditentukan.

    RPAD(<str> TEXT, <length> INT [, <fill> TEXT])
  • Parameters

    • str: Wajib. String target.

    • length: Wajib. Panjang total string hasil.

      Catatan

      Jika string target lebih panjang dari `length`, fungsi memotong string dari sisi kanan hingga mencapai panjang yang ditentukan.

    • fill: Opsional. Karakter yang digunakan untuk padding. Jika parameter ini tidak ditentukan, nilai default-nya adalah spasi.

  • Return value

    Mengembalikan tipe TEXT.

  • Example

    --Returns: hixyx
    SELECT RPAD('hi', 5, 'xy');

Other string functions

TO_NUMBER

  • Description: Mengonversi string ke tipe numerik.

    TO_NUMBER(<str1> TEXT, <str2> TEXT)
  • Parameters

    • str1: String teks yang akan dikonversi.

    • str2: Model format. Parameter ini menentukan cara mengurai teks pada parameter pertama untuk mengonversinya menjadi angka.

  • Return value

    Mengembalikan tipe NUMERIC.

  • Example

    --Returns: -12454.8
    SELECT TO_NUMBER('12,454.8-', '99G999D9S');

REPLACE

  • Description: Menemukan semua kemunculan substring yang ditentukan dalam string sumber dan menggantinya dengan string lain yang ditentukan.

    REPLACE(<str> TEXT, <old_str> TEXT, <new_str> TEXT) 
  • Parameters

    • str: Wajib. String target.

    • old_str: Wajib. Substring yang akan diganti.

    • new_str: Wajib. String pengganti.

  • Return value

    Mengembalikan tipe TEXT.

  • Example

    CREATE TABLE animal_test (
        animal text,
        color text
    );
    
    INSERT INTO animal_test
        VALUES ('dog', 'white'), ('cat', 'white'), ('tiger', 'yellow');
    
    SELECT
        animal,
        REPLACE(color, 'white', 'multi-colored')
    FROM
        animal_test;

    Perintah ini mengembalikan hasil berikut.

    animal |  replace   
    -------------------
    dog    | multi-colored
    cat    | multi-colored
    tiger  | yellow

REGEXP_REPLACE

  • Description: Mengganti substring dengan substring baru menggunakan ekspresi reguler POSIX.

    REGEXP_REPLACE(<str> TEXT, <regex> TEXT, <replacement> TEXT [, <flags> TEXT]) 
  • Parameters

    • str: Wajib. String target yang akan dimodifikasi.

    • regex: Wajib. Ekspresi reguler.

    • replacement: Wajib. String pengganti.

    • flags: Opsional. Menentukan flag pencocokan untuk ekspresi reguler.

  • Return value

    Mengembalikan tipe TEXT.

  • Example:

    CREATE TABLE a_test (
        a text
    );
    INSERT INTO a_test VALUES ('Abcd1234abCd');
    
    SELECT REGEXP_REPLACE(a, '1234.', '77', 'ig') FROM a_test;

    Perintah ini mengembalikan hasil berikut:

    regexp_replace
    --------------
    Abcd77bCd

PLVSTR.RVRS

  • Description: Membalik urutan string. Ini adalah fungsi yang kompatibel dengan Oracle. Anda harus menginstal ekstensi orafce terlebih dahulu. Untuk informasi lebih lanjut, lihat Oracle-compatible functions.

    • Membalik bagian string antara posisi awal dan akhir yang ditentukan.

      PLVSTR.RVRS(<str> TEXT, <start> INTEGER, <end> INTEGER)
    • Membalik string dari posisi yang ditentukan hingga akhir.

      PLVSTR.RVRS(<str> TEXT, <start> INTEGER)
    • Membalik seluruh string.

      PLVSTR.RVRS(<str> TEXT)
  • Return value

    Mengembalikan tipe TEXT.

  • Examples

    • Example 1: Membalik bagian string dari posisi awal hingga posisi akhir yang ditentukan.

      -- Returns: rg
      SELECT PLVSTR.RVRS('Hologres', 5,6);
    • Example 2: Membalik string dari posisi yang ditentukan hingga akhir.

      -- Returns: sergo
      SELECT PLVSTR.RVRS('Hologres', 4);
    • Example 3: Membalik seluruh string.

      -- Returns: sergoloH
      SELECT PLVSTR.RVRS('Hologres');

CHAR_LENGTH

  • Description: Mengembalikan panjang karakter dari sebuah string.

    CHAR_LENGTH(<str> TEXT)
  • Return value

    Mengembalikan tipe INT.

  • Example

    --Returns: 4
    SELECT CHAR_LENGTH('jose');

LENGTH

  • Description: Mengembalikan jumlah karakter dalam string. Jika Anda menggunakan set karakter UTF-8, satu karakter Tionghoa, angka, atau huruf dihitung sebagai satu karakter.

    LENGTH(<str> TEXT)
  • Return value

    Mengembalikan tipe INT.

  • Example

    --Returns: 4
    SELECT LENGTH('jose');
    Catatan

    Hasil fungsi LENGTH sama dengan fungsi CHAR_LENGTH.

LOWER

  • Description: Mengonversi string menjadi huruf kecil.

    LOWER(<str> TEXT)
  • Return value

    Mengembalikan tipe TEXT.

  • Example

    -- Returns: tom
    SELECT LOWER('TOM');

UPPER

  • Description: Mengonversi string menjadi huruf kapital.

    UPPER(<str> TEXT)
  • Return value description

    Mengembalikan tipe TEXT.

  • Example

    -- Returns: TOM
    SELECT UPPER('tom');

INITCAP

  • Description: Mengubah huruf pertama setiap kata menjadi huruf kapital dan sisanya menjadi huruf kecil.

    INITCAP(<str> TEXT)
    Catatan

    Kata adalah rangkaian karakter alfanumerik yang dipisahkan oleh karakter non-alfanumerik.

  • Return value

    Mengembalikan tipe TEXT.

  • Example

    -- Returns: Hi Thomas
    SELECT INITCAP('hi THOMAS');

OCTET_LENGTH

  • Description: Mengembalikan jumlah byte dalam string.

    OCTET_LENGTH(<str> TEXT)
  • Return value

    Mengembalikan tipe INT.

  • Example

    --Returns: 4
    SELECT OCTET_LENGTH('jose');

POSITION

  • Description: Menemukan posisi substring dalam string target.

    POSITION(<substr> TEXT IN <str> TEXT)
  • Parameters

    • substr: Wajib. Substring.

    • Parameter str menentukan string target.

  • Return value

    Mengembalikan tipe INT.

  • Example

    --Returns: 3
    SELECT POSITION('om' IN 'Thomas');

STRPOS

  • Description: Menemukan posisi substring dalam string target.

    STRPOS(<str> TEXT, <substr> TEXT)
  • Parameters

    • str: Wajib. String target.

    • substr: Wajib. Substring.

  • Return value

    Mengembalikan tipe INT.

  • Example

    --Returns: 2
    SELECT STRPOS('high', 'ig');

INSTR

  • Description: Menemukan posisi substring dalam rentang yang ditentukan dari string target. Fungsi ini mengembalikan posisi jika substring ditemukan, atau 0 jika tidak ditemukan. Ini adalah fungsi yang kompatibel dengan Oracle. Anda harus menginstal ekstensi orafce terlebih dahulu. Untuk informasi lebih lanjut, lihat Oracle-compatible functions.

    INSTR(<str> TEXT, <patt> TEXT [, <start> INTEGER, <nth> INTEGER])
  • Parameters

    • str: Wajib. String target.

    • patt: Wajib. Substring yang akan dicocokkan.

    • start: Opsional. Posisi awal untuk pencocokan. Jika parameter ini tidak ditentukan, pencocokan dimulai dari awal string.

    • nth: Opsional. Kemunculan pencocokan yang akan ditemukan. Jika parameter ini tidak ditentukan, fungsi mencari kemunculan pertama.

  • Return value

    Mengembalikan tipe INT.

  • Examples

    • Example 1

      --Returns: 4
      SELECT INSTR('Hologres', 'o',1,2);
    • Example 2

      --Returns: 2
      SELECT INSTR('Hologres', 'o',1,1);
    • Example 3

      --Returns: 4
      SELECT INSTR('Hologres', 'o',4);
    • Example 4

      --Returns: 2
      SELECT INSTR('Hologres', 'o');

MD5

  • Description: Menghitung hash MD5 dari sebuah string. Hasilnya dikembalikan dalam format heksadesimal.

    MD5(<str> TEXT)
  • Return value

    Mengembalikan tipe TEXT.

  • Example

    --Returns: 900150983cd24fb0d6963f7d28e17f72
    SELECT MD5('abc');

PARSE_IDENT

  • Description: Mengurai string yang mematuhi aturan identifier SQL.

    PARSE_IDENT(<quali_iden> TEXT [,...] )
  • Parameters

    • parse_ident: Wajib. String yang akan diurai, biasanya berupa identifier lengkap dari objek basis data.

  • Return value

    Mengembalikan tipe TEXT.

  • Example

    --Returns: {"SomeSchema","sometable"} 
    SELECT PARSE_IDENT('"SomeSchema".someTable');

QUOTE_IDENT

  • Description: Memberi tanda kutip pada string agar menjadi identifier SQL yang valid.

    QUOTE_IDENT(<str> TEXT)
    Catatan

    Anda dapat menambahkan tanda kutip ketika string berisi karakter non-identifier atau ketika besar-kecil huruf string mungkin diubah.

  • Return Value Description

    Mengembalikan tipe TEXT.

  • Example

    --Returns: "Foo bar"
    SELECT QUOTE_IDENT('Foo bar');

QUOTE_LITERAL

  • Description: Mengonversi string menjadi konstanta string SQL yang valid.

    QUOTE_LITERAL(<str> TEXT)
  • Return value

    Mengembalikan tipe TEXT.

  • Example

    --Returns: 'O''Reilly'
    SELECT QUOTE_LITERAL(E'O\'Reilly');

ASCII

  • Description: Mengembalikan kode ASCII dari karakter pertama dalam string.

    ASCII(<str> TEXT)
  • Return value

    Mengembalikan tipe data TEXT.

  • Example

    --Returns: 120
    SELECT ASCII('x');

CHR

  • Description: Mengembalikan karakter yang sesuai dengan nilai kode yang ditentukan.

    CHR(<num> INT)
  • Return value description

    Mengembalikan tipe TEXT.

  • Example

    --Returns: A
    SELECT CHR(65);

REPEAT

  • Description: Mengulang string sejumlah kali yang ditentukan.

    REPEAT(<str> TEXT, <number> INT)
  • Parameters

    • str: Wajib. String target.

    • number: Wajib. Jumlah pengulangan string target.

  • Return value description

    Mengembalikan tipe TEXT.

  • Example

    --Returns: PgPgPgPg
    SELECT REPEAT('Pg', 4);

STARTS_WITH

  • Description: Memeriksa apakah string target diawali dengan awalan yang ditentukan.

    STARTS_WITH(<str> TEXT, <prefix> TEXT)
  • Parameters

    • str: Wajib. String target.

    • prefix: Wajib. String awalan.

  • Return value

    Mengembalikan tipe BOOLEAN. Fungsi mengembalikan `t` (true) jika string target diawali dengan awalan tersebut, dan `f` (false) jika tidak.

  • Example

    --Returns: t
    SELECT STARTS_WITH('alphabet', 'alph');

REGEXP_SPLIT_TO_TABLE

  • Description: Fungsi pemisahan string yang mengubah data yang dipisahkan menjadi baris dan mendukung transformasi dari baris ke kolom.

    REGEXP_SPLIT_TO_TABLE(<str> TEXT, <pattern> TEXT)
  • Parameters

    • str: Wajib. String yang akan dipisahkan.

    • pattern: Wajib. Ekspresi reguler yang menentukan cara memisahkan string. Karakter khusus dan konstruksi dalam ekspresi reguler digunakan untuk mengidentifikasi posisi dalam string yang berfungsi sebagai pemisah.

  • Return value

    Mengembalikan tipe TEXT.

  • Example

    CREATE TABLE interests_test (
        name text,
        intrests text
    );
    
    INSERT INTO interests_test
        VALUES ('Zhang San', 'singing,dancing'), ('Li Si', 'soccer,running,drawing'), ('Wang Wu', 'flower arranging,calligraphy,playing piano,sleeping');
    
    SELECT
        name,
        REGEXP_SPLIT_TO_TABLE(intrests, ',')
    FROM
        interests_test;
    

    Perintah ini mengembalikan hasil berikut.

    name      | regexp_split_to_table
    ---------------------------------
    Zhang San | singing
    Zhang San | dancing
    Li Si     | soccer
    Li Si     | running
    Li Si     | drawing
    Wang Wu   | flower arranging
    Wang Wu   | calligraphy
    Wang Wu   | playing piano
    Wang Wu   | sleeping

REGEXP_SPLIT_TO_ARRAY

  • Description: Memisahkan string menggunakan ekspresi reguler dan mengembalikan hasilnya sebagai array.

    REGEXP_SPLIT_TO_ARRAY(<str> TEXT, <pattern> TEXT)
  • Parameters

    • str: Wajib. String yang akan dipisahkan.

    • pattern: Wajib. Ekspresi reguler yang menentukan cara memisahkan string. Karakter khusus dan konstruksi dalam ekspresi reguler digunakan untuk mengidentifikasi posisi dalam string yang berfungsi sebagai pemisah.

  • Return value

    Mengembalikan tipe ARRAY.

  • Example

    CREATE TABLE interests_test (
        name text,
        intrests text
    );
    
    INSERT INTO interests_test
        VALUES ('Zhang San', 'singing,dancing'), ('Li Si', 'soccer,running,drawing'), ('Wang Wu', 'flower arranging,calligraphy,playing piano,sleeping');
    
    SELECT
        name,
        REGEXP_SPLIT_TO_ARRAY(intrests, ',')
    FROM
        interests_test;
    

    Perintah ini mengembalikan hasil berikut.

    name      | regexp_split_to_array
    ----------------------------------------------------------------
    Zhang San | {singing,dancing}
    Li Si     | {soccer,running,drawing}
    Wang Wu   | {"flower arranging",calligraphy,"playing piano",sleeping}

TO_HEX

  • Description: Mengonversi angka ke representasi heksadesimalnya.

    TO_HEX(<number> INT OR BIGINT)
  • Return value

    Mengembalikan tipe TEXT.

  • Example

    --Returns: 7fffffff
    SELECT TO_HEX(2147483647);

TRANSLATE

  • Description: Mengganti karakter dalam string dengan karakter yang ditentukan.

    TRANSLATE(<str> TEXT, FROM <substr> TEXT, TO <newstr> TEXT)
  • Parameters

    • str: Wajib. String target.

    • substr: Wajib. Kumpulan karakter dalam string target yang akan diganti.

    • newstr: Wajib. Kumpulan karakter pengganti.

  • Return values

    Mengembalikan tipe TEXT.

  • Example

    --Returns: a2x5
    SELECT TRANSLATE('12345', '143', 'ax');

ROW

  • Description: Mengembalikan nomor baris tempat formula tersebut berada.

    ROW()

    Fungsi ini hanya didukung di Hologres V1.3 dan versi yang lebih baru.

    Catatan

    Jika instans Hologres Anda menjalankan versi sebelum V1.3, lihat Upgrade an instance atau bergabunglah dengan grup DingTalk Hologres untuk memberikan masukan. Untuk informasi lebih lanjut, lihat How do I get more online support?.

  • Return value

    Mengembalikan ARRAY atau TEXT.

  • Example

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

    Perintah ini mengembalikan hasil berikut.

    a | b 
    ------
    0 | 0