全部产品
Search
文档中心

Lindorm:Fungsi String

更新时间:Jun 24, 2025

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

Mesin dan versi yang berlaku

Fungsi string yang dijelaskan dalam topik ini hanya berlaku untuk LindormTable versi 2.5.1.1 dan yang lebih baru.

null

Untuk informasi lebih lanjut tentang cara melihat dan meningkatkan versi LindormTable, lihat Catatan Rilis LindormTable dan Tingkatkan Versi Mesin Minor dari Instance Lindorm.

Fungsi string yang didukung

Tabel berikut mencantumkan fungsi string yang didukung oleh Lindorm SQL.

Fungsi

Deskripsi

CONCAT

Menggabungkan beberapa string menjadi string baru.

LENGTH

Menghitung panjang string.

LOWER

Mengonversi semua huruf dalam string menjadi huruf kecil.

MD5

Menghitung hash MD5 dari string.

SHA256

Menghitung hash SHA256 dari string.

REPLACE

Mengganti substring yang cocok dengan aturan tertentu dengan substring baru.

REVERSE

Membalikkan string.

REGEXP_REPLACE

Mengganti substring yang cocok dengan aturan tertentu dengan substring baru mulai dari posisi tertentu dalam string.

REGEXP_SUBSTR

Mengembalikan substring yang dimulai dari posisi tertentu dalam string dan cocok dengan aturan tertentu.

SUBSTR

Mengembalikan substring dengan panjang tertentu.

START_WITH

Menentukan apakah awalan string cocok dengan string tertentu.

TRIM

Menghapus spasi di awal dan akhir string.

UPPER

Mengonversi semua huruf dalam string menjadi huruf besar.

MATCH

Memeriksa apakah nilai kolom yang ditentukan cocok dengan aturan tertentu.

CONCAT

Fungsi CONCAT menggabungkan beberapa string menjadi satu string baru.

Sintaksis

CONCAT('string1','string2',...,'stringN')

Parameter

Parameter

Wajib

Deskripsi

'string1','string2',...,'stringN'

Ya

String yang ingin Anda gabungkan.

Contoh

Menggabungkan stringa, b, dan c menjadi stringabc.

SELECT concat('a','b','c') AS val;

Hasil yang dikembalikan:

+--------+
| val    |
+--------+
| abc    |
+--------+

String gabungan tanpa pemisah dikembalikan.

LENGTH

Fungsi LENGTH menghitung panjang string.

Sintaksis

LENGTH('string')

Parameter

Parameter

Wajib

Deskripsi

string

Ya

String yang ingin Anda proses.

Contoh

Menghitung panjang stringabc.

SELECT length('abc') AS len;

Hasil yang dikembalikan:

+-----+
| len |
+-----+
| 3   |
+-----+

Nilai yang dikembalikan 3 menunjukkan bahwa panjang stringabc adalah 3 karakter.

LOWER

Fungsi LOWER mengonversi semua huruf dalam string menjadi huruf kecil.

Sintaksis

LOWER('string')

Parameter

Parameter

Wajib

Deskripsi

string

Ya

String yang ingin Anda konversi.

Contoh

  • Contoh 1: Mengonversi semua huruf dalam stringABC menjadi huruf kecil.

    SELECT lower('ABC') AS val;

    Hasil yang dikembalikan:

    +--------+
    | val    |
    +--------+
    | abc    |
    +--------+

    String abc dikembalikan, dengan semua huruf dalam string asli diubah menjadi huruf kecil.

  • Contoh 2: Mengonversi semua huruf dalam stringAbc menjadi huruf kecil.

    SELECT lower('Abc') AS val;

    Hasil yang dikembalikan:

    +--------+
    | val    |
    +--------+
    | abc    |
    +--------+

    String abc dikembalikan, dengan semua huruf besar dalam string asli diubah menjadi huruf kecil.

MD5

Fungsi MD5 menghitung hash MD5 dari string.

Sintaksis

MD5('string')

Parameter

Parameter

Wajib

Deskripsi

string

Ya

String yang ingin Anda proses.

Contoh

Menghitung hash MD5 dari stringabc.

SELECT md5('abc') AS val;

Hasil yang dikembalikan:

+----------------------------------+
|               val                |
+----------------------------------+
| 900150983cd24fb0d6963f7d28e17f72 |
+----------------------------------+

Hash MD5 dari stringabc dikembalikan.

SHA256

Fungsi SHA256 menghitung hash SHA256 dari string.

Sintaksis

SHA256('string')

Parameter

Parameter

Wajib

Deskripsi

string

Ya

String yang ingin Anda proses.

Contoh

Dalam contoh ini, tabel sampel dibuat dan diisi dengan menjalankan pernyataan berikut:

-- Buat tabel sampel.
CREATE TABLE tb (id int, name varchar, address varchar, PRIMARY KEY(id, name)); 

-- Masukkan data ke dalam tabel yang dibuat.
UPSERT INTO tb (id, name, address) VALUES (1, 'jack',  'hz');

Kueri hash SHA256 dari nilai di kolomname baris yangid-nya1.

SELECT sha256(name) AS sc FROM tb WHERE id=1;

Hasil yang dikembalikan:

+------------------------------------------------------------------+
|                                sc                                |
+------------------------------------------------------------------+
| 31611159e7e6ff7843ea4627745e89225fc866621cfcfdbd40871af4413747cc |
+------------------------------------------------------------------+

Hash SHA256 dari stringjack dikembalikan.

REPLACE

Fungsi REPLACE mengganti substring yang cocok dengan aturan tertentu dengan substring baru.

Sintaksis

REPLACE('string','from_str','to_str')

Parameter

Parameter

Wajib

Deskripsi

string

Ya

String yang ingin Anda proses.

from_str

Ya

Substring yang ingin Anda ganti.

to_str

Ya

Substring yang ingin Anda gunakan untuk mengganti substring yang cocok dengan aturan.

Contoh

  • Contoh 1: Ganti semua substring yang cocok dengan substringbc dalam stringabc dengan substringcd.

    SELECT replace('abc','bc','cd') AS val;

    Hasil yang dikembalikan:

    +-----+
    | val |
    +-----+
    | acd |
    +-----+

    Stringacd dikembalikan. Substringbc dalam stringabc diganti dengan substringcd.

  • Contoh 2: Ganti semua substring yang cocok dengan substringbc dalam stringabcbc dengan substringcd.

    SELECT replace('abcbc', 'bc', 'cd') AS val;

    Hasil yang dikembalikan:

    +-------+
    |  val  |
    +-------+
    | acdcd |
    +-------+

    Stringacdcd dikembalikan. Semua substringbc dalam stringabcbc diganti dengan substringcd.

REVERSE

Fungsi REVERSE membalikkan string.

Sintaksis

REVERSE('string')

Parameter

Parameter

Wajib

Deskripsi

string

Ya

String yang ingin Anda proses.

Contoh

Balikkan stringabc.

SELECT reverse('abc') AS val;

Hasil yang dikembalikan:

+-----+
| val |
+-----+
| cba |
+-----+

Stringcba dikembalikan. String ini adalah kebalikan dari string abc.

REGEXP_REPLACE

Fungsi REGEXP_REPLACE mengganti substring yang cocok dengan aturan tertentu dengan substring baru mulai dari posisi tertentu dalam string.

Sintaksis

REGEXP_REPLACE('string',pat,rep,[pos])

Parameter

Parameter

Wajib

Deskripsi

string

Ya

String yang ingin Anda proses.

pattern

Ya

Ekspresi reguler yang digunakan untuk menentukan aturan pencocokan.

rep

Ya

Substring yang ingin Anda gunakan untuk mengganti substring yang cocok dengan aturan.

position

Tidak

Posisi dari mana substring yang akan diganti diperiksa berdasarkan aturan. Nilai parameter ini adalah bilangan bulat lebih besar dari atau sama dengan 1. Jika Anda tidak menentukan parameter ini, fungsi akan memeriksa substring yang dimulai dari karakter pertama string berdasarkan aturan.

Contoh

  • Contoh 1: Tidak menentukan parameterpos. Dalam hal ini, fungsi memeriksa substring yang dimulai dari karakter pertama string dan mengganti substring yang cocok dengan substringb dengan substringc.

    SELECT regexp_replace('abc', 'b', 'c') AS val;

    Hasil yang dikembalikan:

    +-----+
    | val |
    +-----+
    | acc |
    +-----+

    Stringacc dikembalikan. Substring yang cocok dengan substringb diganti dengan substringc.

  • Contoh 2: Tetapkan parameterpos menjadi 2. Dalam hal ini, fungsi memeriksa substring yang dimulai dari karakter kedua string dan mengganti substring yang cocok dengan substringb dengan substringc.

    SELECT regexp_replace('abcbc', 'b', 'c', 2) AS val;

    Hasil yang dikembalikan:

    +-------+
    |  val  |
    +-------+
    | acccc |
    +-------+

Stringacccc dikembalikan. Fungsi memeriksa substring yang dimulai dari karakter kedua dan cocok dengan substringb dalam stringabcbc, lalu menggantinya dengan substringc.

  • Contoh 3: Tetapkan parameterpos menjadi 3. Dalam hal ini, fungsi memeriksa substring yang dimulai dari karakter ketiga string dan mengganti substring yang cocok dengan substringb dengan substringc.

    SELECT regexp_replace('abcbc', 'b', 'c', 3) AS val;

    Hasil yang dikembalikan:

    +-------+
    |  val  |
    +-------+
    | abccc |
    +-------+

    Stringabccc dikembalikan. Fungsi memeriksa substring yang dimulai dari karakter ketiga dan cocok dengan substringb dalam stringabcbc, lalu menggantinya dengan substringc.

REGEXP_SUBSTR

Fungsi REGEXP_SUBSTR mengembalikan substring yang dimulai dari posisi tertentu dalam string dan cocok dengan aturan tertentu.

Sintaksis

REGEXP_SUBSTR('string', pat, [pos])

Parameter

Parameter

Wajib

Deskripsi

string

Ya

String yang ingin Anda proses.

pattern

Ya

Ekspresi reguler yang digunakan untuk menentukan aturan pencocokan.

position

Tidak

Posisi dari mana substring yang akan diperiksa berdasarkan aturan. Nilai parameter ini adalah bilangan bulat lebih besar dari atau sama dengan 1. Jika Anda tidak menentukan parameter ini, fungsi akan memeriksa substring yang dimulai dari karakter pertama string berdasarkan aturan.

Contoh

  • Contoh 1: Tetapkan parameterpos menjadi 3. Dalam hal ini, fungsi memeriksa apakah substring yang dimulai dari karakter ketiga stringabc cocok dengan substringb yang ditentukan oleh aturan.

     SELECT regexp_substr('abc', 'b', 3) AS val;

    Hasil yang dikembalikan:

    +-----+
    | val |
    +-----+
    |     |
    +-----+

    Tidak ada nilai yang dikembalikan, yang menunjukkan bahwa tidak ada substring yang dimulai dari karakter ketiga string abc yang cocok dengan substringb.

  • Contoh 2: Tidak menentukan parameterpos. Dalam hal ini, fungsi memeriksa apakah substring yang dimulai dari karakter pertama stringabc cocok dengan substringb yang ditentukan oleh aturan.

    SELECT regexp_substr('abc', 'b') AS val;

    Hasil yang dikembalikan:

    +-----+
    | val |
    +-----+
    | b   |
    +-----+

    Substring b dikembalikan. Substring ini dipotong setelah karakter pertama dari string "abc" dan sesuai dengan aturan.

SUBSTR

Fungsi SUBSTR mengembalikan substring dengan panjang tertentu.

Sintaksis

SUBSTR( string, pos, [len])

Parameter

Parameter

Wajib

Deskripsi

string

Ya

String yang ingin Anda proses.

position

Ya

Posisi dari mana substring dipotong. Nilai parameter ini adalah bilangan bulat lebih besar dari atau sama dengan 1.

len

Tidak

Panjang substring yang ingin Anda potong. Nilai parameter ini adalah bilangan bulat lebih besar dari atau sama dengan 1. Jika Anda tidak menentukan parameter ini, substring dari posisi yang ditentukan olehpos hingga akhir string dikembalikan secara default.

Contoh

  • Contoh 1: Tidak menentukan parameterlen. Dalam hal ini, substring dari karakter kedua hingga akhir stringabc dikembalikan secara default.

    SELECT substr('abc', 2) AS val;

    Hasil yang dikembalikan:

    +-----+
    | val |
    +-----+
    | bc  |
    +-----+

    Substringbc dikembalikan. Substring ini dipotong dari karakter kedua hingga akhir stringabc.

  • Contoh 2: Tentukan parameterlen. Dalam hal ini, substring dari karakter pertama hingga karakter kedua stringabc dikembalikan.

    SELECT substr('abc', 1, 2) AS val;

    Hasil yang dikembalikan:

    +-----+
    | val |
    +-----+
    | ab  |
    +-----+

    Substringab dikembalikan. Substring ini dipotong dari karakter pertama hingga karakter kedua stringabc.

START_WITH

Fungsi START_WITH menentukan apakah awalan string cocok dengan string tertentu.

Sintaksis

START_WITH('string1', 'string2')

Parameter

Parameter

Wajib

Deskripsi

string1

Ya

String yang ingin Anda proses.

string2

Ya

String yang Anda gunakan untuk mencocokkan awalan.

Contoh

  • Contoh 1: Tentukan apakah stringab adalah awalan dari stringabc.

    SELECT start_with('abc', 'ab') AS val;

    Hasil yang dikembalikan:

    +--------+
    | val    |
    +--------+
    | true   |
    +--------+

    Nilai yang dikembalikan adalahtrue, yang menunjukkan bahwa stringab adalah awalan dari stringabc.

  • Contoh 2: Tentukan apakah stringbc adalah awalan dari stringabc.

    SELECT start_with('abc', 'bc') AS val;

    Hasil yang dikembalikan:

    +--------+
    | val    |
    +--------+
    | false  |
    +--------+

    Nilai yang dikembalikan adalahfalse, yang menunjukkan bahwa stringbc bukan awalan dari stringabc.

TRIM

Fungsi TRIM menghapus spasi di awal dan akhir string.

Sintaksis

TRIM('string')

Parameter

Parameter

Wajib

Deskripsi

string

Ya

String yang ingin Anda proses.

Contoh

Hapus spasi di awal dan akhir stringabc.

SELECT trim(' abc    ') AS str;

Hasil yang dikembalikan:

+-----+
| str |
+-----+
| abc |
+-----+

String dengan spasi di awal dan akhir yang dihapus dikembalikan.

UPPER

Fungsi UPPER mengonversi semua huruf dalam string menjadi huruf besar.

Sintaksis

UPPER('string')

Parameter

Parameter

Wajib

Deskripsi

string

Ya

String yang ingin Anda konversi.

Contoh

  • Contoh 1: Mengonversi semua huruf dalam stringabc menjadi huruf besar.

    SELECT upper('abc') AS val;

    Hasil yang dikembalikan:

    +--------+
    | val    |
    +--------+
    | ABC    |
    +--------+

    StringABC dikembalikan, dengan semua huruf dalam string asli diubah menjadi huruf besar.

  • Contoh 2: Mengonversi semua huruf dalam stringaBC menjadi huruf besar.

    SELECT upper('aBC') AS val;

    Hasil yang dikembalikan:

    +--------+
    | val    |
    +--------+
    | ABC    |
    +--------+

    StringABC dikembalikan. Semua huruf kecil dalam string asli dikonversi menjadi huruf besar.

MATCH

FungsiMATCH menentukan apakah nilai kolom yang ditentukan cocok dengan aturan tertentu.

null
  • Fungsi MATCH hanya bekerja dengan indeks pencarian. Ketika sebuah kueri mengandung fungsi MATCH dan indeks pencarian ada, sistem secara otomatis menggunakan indeks pencarian tersebut.

Catatan penggunaan

Sebelum menggunakan fungsi MATCH untuk kueri, perhatikan masalah kinerja dan persyaratan indeks berikut ini:

  • Untuk kueri yang berisi kolom non-terindeks, sistem pertama-tama memeriksa kolom terindeks melalui indeks pencarian, kemudian melakukan penyaringan baris-per-baris pada kolom non-terindeks dalam set hasil. Karena kinerja kueri berkorelasi dengan tingkat keberhasilan kondisi indeks, operasi penyaringan pada dataset besar dapat menurunkan kinerja. Dalam kasus ini, Anda dapat menjalankan pernyataan ADD COLUMN untuk menambahkan kolom non-terindeks yang ingin Anda kueri ke indeks pencarian sesuai dengan kebutuhan bisnis Anda.

  • Saat ini, tabel utama dan indeks sekunder tidak mendukung fungsi MATCH. Saat fungsi MATCH digunakan dalam kueri, sistem langsung menggunakan indeks pencarian. Jika Anda perlu menjalankan kueri terhadap tabel utama atau indeks sekunder, Anda dapat mengubah kueri token menjadi kueri kabur dengan menambahkan kata kunci LIKE ke dalam pernyataan kueri Anda, asalkan kebutuhan kueri Anda terpenuhi.

    null

    Kueri kabur dapat bekerja pada tabel utama dan indeks sekunder, tetapi memberikan kinerja kueri yang lebih buruk dibandingkan kueri token.

  • Untuk kueri yang menggabungkan fungsi MATCH dan kata kunci LIKE, Anda harus mengonfigurasi kolom yang sesuai sebagai kolom token saat Anda membuat indeks pencarian.

Sintaksis

MATCH (column_identifiers) AGAINST (search_expr)
null
  • Anda hanya dapat menggunakan fungsi MATCH dalam klausa WHERE untuk kueri SQL.

  • Secara default, data hasil dari pernyataan kueri yang berisi fungsi MATCH diurutkan dalam urutan terbalik berdasarkan kedekatan nilai kolom dengan aturan yang ditentukan.

Parameter

Parameter

Diperlukan

Deskripsi

column_identifiers

Ya

Kolom yang ingin Anda cocokkan dengan aturan yang ditentukan. Anda dapat memasukkan beberapa kolom. Pisahkan kolom dengan koma (,). Jika Anda memasukkan beberapa kolom, kolom tersebut akan digabungkan dan kemudian dicocokkan dengan aturan yang ditentukan.

null

Anda harus membuat indeks pencarian untuk kolom yang ditentukan oleh parameter column_identifiers. Analyzer dikonfigurasikan untuk kolom tersebut guna segmentasi kata. Untuk informasi lebih lanjut, lihat Aktifkan fitur indeks pencarian dan CREATE INDEX.

search_expr

Ya

Konstanta string yang digunakan sebagai aturan pencocokan. Untuk informasi lebih lanjut, lihat bagian Deskripsi aturan pencocokan dari topik ini.

Deskripsi aturan pencocokan

Aturan pencocokan terdiri dari satu atau lebih kondisi. Pisahkan kondisi-kondisi tersebut dengan spasi. Kondisi dapat berupa salah satu dari item berikut:

  • Sebuah kata tunggal. Data yang mengandung kata yang ditentukan memenuhi kondisi ini. Contoh: hello.

  • Frase yang diapit oleh tanda kutip ganda (""). Data yang mengandung seluruh frase tanpa segmentasi kata memenuhi kondisi ini. Sebagai contoh, "hello world" menunjukkan bahwa data yang mengandung frase "hello world" memenuhi aturan tersebut.

  • Aturan pencocokan lain yang diapit oleh tanda kurung (()). Data yang cocok dengan aturan pencocokan yang diapit oleh tanda kurung memenuhi kondisi ini. Contoh: (another "hello world").

Anda dapat mengubah perilaku pencocokan suatu kondisi dengan menambahkan simbol sebelum kondisi tersebut:

  • + menunjukkan bahwa kondisi tersebut harus dipenuhi.

  • - menunjukkan bahwa kondisi tersebut tidak boleh dipenuhi.

  • Jika tidak ada simbol yang ditambahkan sebelum suatu kondisi, kondisi tersebut tidak wajib. Namun, data yang memenuhi kondisi tersebut dapat memperoleh peringkat yang lebih tinggi.

Contoh

Dalam contoh-contoh berikut, tabel sampel dibuat dan diisi dengan mengeksekusi pernyataan-pernyataan berikut:

-- Buat tabel sampel bernama tb.
CREATE TABLE tb (id INT, c1 VARCHAR, PRIMARY KEY(id)); 

-- Buat indeks pencarian. Sebelum membuat indeks pencarian, pastikan bahwa fitur indeks pencarian diaktifkan.
CREATE INDEX idx USING SEARCH ON tb (c1(type=text));

-- Masukkan data ke dalam tabel.
UPSERT INTO tb (id,c1) VALUES (1,'hello');
UPSERT INTO tb (id,c1) VALUES (2,'world');
UPSERT INTO tb (id,c1) VALUES (3,'hello world');
UPSERT INTO tb (id,c1) VALUES (4,'hello my world');
UPSERT INTO tb (id,c1) VALUES (5,'hello you');
UPSERT INTO tb (id,c1) VALUES (6,'hello you and me');
UPSERT INTO tb (id,c1) VALUES (7,'you and me');
  • Contoh 1: Kueri data yang mengandung kata hello atau world di kolom c1.

    SELECT * FROM tb WHERE MATCH (c1) AGAINST ('hello world');

    Hasil berikut dikembalikan:

    +----+------------------+
    | id |        c1        |
    +----+------------------+
    | 3  | hello world      |
    | 2  | world            |
    | 4  | hello my world   |
    | 5  | hello you        |
    | 1  | hello            |
    | 6  | hello you and me |
    +----+------------------+
  • Contoh 2: Kueri data yang mungkin mengandung kata hello dan harus mengandung kata world di kolom c1.

    SELECT * FROM tb WHERE MATCH (c1) AGAINST ('hello +world');

    Hasil berikut dikembalikan:

    +----+----------------+
    | id |       c1       |
    +----+----------------+
    | 3  | hello world    |
    | 2  | world          |
    | 4  | hello my world |
    +----+----------------+
  • Contoh 3: Kueri data yang mengandung kata world tetapi tidak mengandung kata hello di kolom c1.

    SELECT * FROM tb WHERE MATCH (c1) AGAINST ('-hello +world');

    Hasil berikut dikembalikan:

    +----+-------+
    | id |  c1   |
    +----+-------+
    | 2  | world |
    +----+-------+
  • Contoh 4: Kueri data yang mengandung frasa hello world di kolom c1.

    SELECT * FROM tb WHERE MATCH (c1) AGAINST ('"hello world"');

    Hasil berikut dikembalikan:

    +----+-------------+
    | id |     c1      |
    +----+-------------+
    | 3  | hello world |
    +----+-------------+
  • Contoh 5: Kueri data yang harus mengandung kata hello dan setidaknya satu kata dari kata-kata you dan me di kolom c1.

    SELECT * FROM tb WHERE MATCH (c1) AGAINST ('+hello +(you me)');

    Hasil berikut dikembalikan:

    +----+------------------+
    | id |        c1        |
    +----+------------------+
    | 6  | hello you and me |
    | 5  | hello you        |
    +----+------------------+