全部产品
Search
文档中心

AnalyticDB:Fungsi String

更新时间:Feb 06, 2026

Gunakan Fungsi string untuk memproses string, seperti mengubah huruf besar/kecil, menghapus spasi, atau mengekstrak substring. Topik ini menjelaskan sintaks Fungsi string di AnalyticDB for MySQL dan menyertakan contoh penggunaannya.

  • ASCII: Mengembalikan nilai ASCII karakter paling kiri dalam sebuah string.

  • BIN: Mengembalikan representasi string biner dari suatu integer.

  • BIT_LENGTH: Mengembalikan panjang string dalam bit.

  • CHAR: Mengembalikan string yang terdiri atas karakter-karakter yang sesuai dengan kode ASCII desimal dari integer-integers tersebut.

  • CHAR_LENGTH or CHARACTER_LENGTH: Mengembalikan panjang string dalam jumlah karakter.

  • CONCAT: Menggabungkan beberapa string.

  • CONCAT_WS: Menggabungkan beberapa string menggunakan pemisah tertentu.

  • ELT: Mengembalikan string ke-N dari daftar string yang diberikan.

  • ENCRYPT: Mengenkripsi sebuah string.

  • EXPORT_SET: Mengembalikan string gabungan berdasarkan nilai bit dari suatu integer.

  • FIELD: Mengembalikan indeks string tertentu dalam daftar string.

  • FIND_IN_SET: Mengembalikan posisi suatu string dalam daftar yang dipisahkan koma.

  • FORMAT: Memformat angka N dan mengembalikan string.

  • FROM_BASE64: Mendekode string yang dienkripsi Base64 dan mengembalikan hasil dekode.

  • FROM_UTF8: Mendekode string yang dienkripsi UTF-8 dan mengembalikan hasil dekode.

  • HEX: Mengonversi integer atau string ke representasi string heksadesimalnya.

  • INSTR: Mengembalikan posisi kemunculan pertama substring dalam sebuah string.

  • LEFT: Mengembalikan N karakter paling kiri dari sebuah string.

  • LENGTH or OCTET_LENGTH: Mengembalikan panjang string.

  • LIKE: Melakukan pencocokan pola sederhana.

  • LOCATE: Mengembalikan posisi kemunculan pertama substring dalam string lain.

  • LOWER or LCASE: Mengonversi string menjadi huruf kecil.

  • LPAD: Menambahkan padding di sebelah kiri string.

  • LTRIM: Menghapus spasi awal dari string.

  • MAKE_SET: Mengembalikan kumpulan string yang dipisahkan koma.

  • MD5_MUR: Mengonversi string menjadi nilai numerik.

  • MID: Mengembalikan substring dengan panjang tertentu dari posisi tertentu dalam string. Fungsi ini sama dengan SUBSTR or SUBSTRING.

  • OCT: Mengembalikan representasi string oktal dari integer tertentu.

  • ORD: Mengembalikan kode karakter paling kiri jika itu merupakan karakter multibyte.

  • POSITION: Mengembalikan posisi kemunculan pertama substring dalam string.

  • REPEAT: Mengembalikan string yang diulang sejumlah kali tertentu.

  • REPLACE: Mengganti bagian dari string dengan string tertentu.

  • REVERSE: Membalik urutan string.

  • RIGHT: Mengembalikan sejumlah karakter paling kanan dari string.

  • RLIKE or REGEXP: Mencocokkan string terhadap ekspresi reguler. Fungsi ini mengembalikan 1 jika string cocok dengan pola, dan 0 jika tidak.

  • RPAD: Menambahkan padding di sebelah kanan string.

  • RTRIM: Menghapus spasi akhir dari string.

  • SPACE: Mengembalikan string yang terdiri atas sejumlah spasi tertentu.

  • SPLIT: Memisahkan string berdasarkan delimiter dan mengembalikan array.

  • SPLIT_PART: Memisahkan string berdasarkan delimiter dan mengembalikan substring pada indeks tertentu.

  • SPLIT_TO_MAP: Memisahkan string menggunakan entryDelimiter dan keyValueDelimiter, lalu mengembalikan map.

  • STRCMP: Membandingkan dua string dan mengembalikan 0 jika identik, -1 jika string pertama lebih kecil daripada string kedua berdasarkan urutan pengurutan saat ini, atau 1 jika tidak.

  • SUBSTR or SUBSTRING: Mengembalikan substring dengan panjang tertentu dari posisi tertentu.

  • SUBSTRING_INDEX: Mengembalikan substring dari string, baik sebelum maupun sesudah jumlah kemunculan delimiter tertentu.

  • TO_BASE64: Mengembalikan bentuk string yang dienkripsi Base64.

  • TO_UTF8: Mengembalikan bentuk string yang dikodekan dalam UTF-8.

  • TRIM: Menghapus semua spasi awal dan akhir dari string.

  • UPPER or UCASE: Mengonversi string menjadi huruf besar.

  • UNHEX: Mengonversi angka heksadesimal menjadi karakter.

ASCII

ascii(str)
  • Description: Mengembalikan nilai desimal ASCII dari karakter paling kiri dalam string str atau str.

  • Input parameter data type: VARCHAR.

  • Return value data type: BIGINT.

  • Contoh:

    • Statement:

      SELECT ascii('2');

      The following result is returned:

      +------------+
      | ascii('2') |
      +------------+
      |         50 |
      +------------+              
    • Statement:

      SELECT ascii('dx');           

      The following result is returned:

      +-------------+
      | ascii('dx') |
      +-------------+
      |         100 |
      +-------------+      

BIN

bin(N)
  • Description: Mengembalikan representasi string biner dari N.

    Jika N adalah null, NULL dikembalikan.

  • Input parameter data type: BIGINT.

  • Return value data type: VARCHAR.

  • Contoh:

    SELECT bin(12);

    The following result is returned:

    +---------+
    | bin(12) |
    +---------+
    | 1100    |
    +---------+

BIT_LENGTH

bit_length(str)
  • Description: Mengembalikan panjang string str dalam bit.

  • Input parameter data type: VARCHAR.

  • Return value data type: BIGINT.

  • Contoh:

    • Statement:

      SELECT bit_length('text');

      The following result is returned:

      +--------------------+
      | bit_length('text') |
      +--------------------+
      |                 32 |
      +--------------------+              
    • Statement:

      SELECT bit_length('China');

      The following result is returned:

      +---------------------+
      | bit_length('China') |
      +---------------------+
      |                  40 |
      +---------------------+

CHAR

char(N1, N2, ...)
  • Description: Mengembalikan string yang terdiri atas karakter-karakter yang sesuai dengan kode ASCII desimal dari integer N1, N2, dan seterusnya.

  • Input parameter data type: BIGINT.

  • Return value data type: VARBINARY.

  • Contoh:

    SELECT char(97,110,97,108,121,116,105,99,100,98);                   

    The following result is returned:

    +-------------------------------------------+
    | char(97,110,97,108,121,116,105,99,100,98) |
    +-------------------------------------------+
    | analyticdb                                |
    +-------------------------------------------+

CHAR_LENGTH atau CHARACTER_LENGTH

char_length(str)
character_length(str)
  • Description: Mengembalikan panjang string str dalam jumlah karakter.

    Panjang satu karakter Tionghoa adalah 1.

  • Input parameter data type: VARCHAR.

  • Return value data type: BIGINT.

  • Contoh:

    • Statement:

      SELECT char_length('China');

      The following result is returned:

      +----------------------+
      | char_length('China') |
      +----------------------+
      |                    5 |
      +----------------------+              
    • Statement:

      SELECT char_length('abc');

      The following result is returned:

      +--------------------+
      | char_length('abc') |
      +--------------------+
      |                  3 |
      +--------------------+                  

CONCAT

concat(str 1, …, str n)
  • Description: Menggabungkan beberapa string. Jika salah satu parameter bernilai null, nilai kembaliannya adalah null.

  • Input parameter data type: VARCHAR.

  • Return value data type: VARCHAR.

  • Contoh:

    • Statement:

      SELECT concat('aliyun', ', ', 'analyticdb');  

      The following result is returned:

      +--------------------------------------+
      | concat('aliyun', ', ', 'analyticdb') |
      +--------------------------------------+
      | aliyun, analyticdb                   |
      +--------------------------------------+                
    • Statement:

      SELECT concat('abc',null,'def');

      The following result is returned:

      +--------------------------+
      | concat('abc',null,'def') |
      +--------------------------+
      | NULL                     |
      +--------------------------+       

CONCAT_WS

concat_ws(separator, str 1, …, str n)
  • Description: Menggabungkan beberapa string menggunakan pemisah tertentu. Parameter pertama separator adalah delimiter untuk parameter-parameter lainnya. String-string yang bernilai null dilewati selama proses penggabungan.

  • Input parameter data type: VARCHAR.

  • Return value data type: VARCHAR.

  • Contoh:

    • Statement:

      SELECT concat_ws(',', 'Nama Depan', 'Nama Tengah', 'Nama Belakang')AS result;                   

      The following result is returned:

      +----------------------------------+
      | result                           |
      +----------------------------------+
      | Nama Depan,Nama Tengah,Nama Belakang |
      +----------------------------------+                   
    • Statement:

      SELECT concat_ws(',','Nama Depan',NULL,'Nama Belakang')AS result;                 

      The following result is returned:

      +----------------------+
      | result               |
      +----------------------+
      | Nama Depan,Nama Belakang |
      +----------------------+                  

ELT

elt(N, str 1, ...,str n);
  • Mengembalikan string ke-N.

    Jika N<1 atau N lebih besar dari jumlah parameter string, null dikembalikan.

  • Input parameter data type: N bertipe BIGINT, dan str bertipe VARCHAR.

  • Return value data type: VARCHAR.

  • Contoh:

    SELECT elt(4, 'Aa', 'Bb', 'Cc', 'Dd');               

    The following result is returned:

    +--------------------------------+
    | elt(4, 'Aa', 'Bb', 'Cc', 'Dd') |
    +--------------------------------+
    | Dd                             |
    +--------------------------------+

ENCRYPT

encrypt(x, y);
  • Description: Mengenkripsi parameter x. y adalah nilai salt.

  • Input parameter data type: x bertipe VARBINARY, dan y bertipe VARCHAR.

  • Return value data type: VARBINARY

  • Contoh:

    SELECT encrypt('abdABC123','key');              

    The following result is returned:

    +--------------------------------------------------------+
    | encrypt('abdABC123','key')                             |
    +--------------------------------------------------------+
    | 0x6B657A617A6D63496F2E614377                           |
    +--------------------------------------------------------+

EXPORT_SET

export_set(bits, onstr, offstr [, separator[,number_of_bits]]);
  • Description: Mengonversi bits ke nilai biner. Parameter-parameter dijelaskan sebagai berikut:

    • Sistem memeriksa nilai biner dari kanan ke kiri. Jika bit bernilai 1, diganti dengan nilai onstr. Jika bit bernilai 0, diganti dengan nilai offstr.

    • Nilai-nilai kembalian dipisahkan oleh separator.

    • number_of_bits menentukan jumlah bit yang diperiksa. Nilai default-nya adalah 64. Jika Anda menentukan nilai lebih dari 64 untuk number_of_bits, nilainya dipotong menjadi 64. Jika Anda menentukan -1 untuk number_of_bits, nilai default 64 digunakan.

  • Input parameter data type: bits dan number_of_bits bertipe BIGINT. onstr, offstr, dan separator bertipe VARCHAR.

  • Return value data type: VARCHAR.

  • Contoh:

    • Konversi 5 ke nilai biner, dan ambil dua bit pertama dari kanan ke kiri. Ganti 1 dengan a dan 0 dengan b. Pisahkan a dan b dengan koma (,). Pernyataannya sebagai berikut:

      SELECT export_set(5,'a','b',',',2);

      The following result is returned:

      +-----------------------------+
      | export_set(5,'a','b',',',2) |
      +-----------------------------+
      | a,b                         |
      +-----------------------------+             
    • Konversi 6 ke nilai biner, dan ambil 10 bit pertama dari kanan ke kiri. Ganti 1 dengan 1 dan 0 dengan 0. Pisahkan 1 dan 0 dengan koma (,). Pernyataannya sebagai berikut:

      SELECT export_set(6,'1','0',',',10);             

      The following result is returned:

      +------------------------------+
      | export_set(6,'1','0',',',10) |
      +------------------------------+
      | 0,1,1,0,0,0,0,0,0,0          |
      +------------------------------+

FIELD

FIELD(str, str 1, str 2,..., str n);
  • Description: Mengembalikan indeks str dalam daftar str 1, str 2, ..., str n. Jika str tidak ditemukan, 0 dikembalikan.

  • Input parameter data type: VARCHAR.

  • Return value data type: BIGINT.

  • Contoh:

    SELECT FIELD('Bb', 'Aa', 'Bb', 'Cc', 'Dd', 'Ff');             

    The following result is returned:

    sq+-------------------------------------------+
    | FIELD('Bb', 'Aa', 'Bb', 'Cc', 'Dd', 'Ff') |
    +-------------------------------------------+
    |                                         2 |
    +-------------------------------------------+

FIND_IN_SET

find_in_set(str, strlist)            
  • Description: Mengembalikan posisi str dalam daftar strlist.

    Jika str tidak ada di strlist atau jika strlist adalah string kosong, 0 dikembalikan.

    Jika parameter str atau strlist bernilai null, null dikembalikan.

  • Input parameter data type: str dan strlist bertipe VARCHAR.

  • Return value data type: BIGINT.

  • Contoh:

    SELECT find_in_set('b','a,b,c,d');        

    The following result is returned:

    +----------------------------+
    | find_in_set('b','a,b,c,d') |
    +----------------------------+
    |                          2 |
    +----------------------------+

FORMAT

format(X, D)
  • Description: Memformat angka X ke dalam gaya #,###,###.##, membulatkannya ke D tempat desimal, dan mengembalikan hasilnya sebagai string.

    Jika D adalah 0, hasilnya tidak memiliki titik desimal atau bagian pecahan.

  • Input parameter data type: X bertipe DOUBLE, dan D bertipe BIGINT.

  • Return value data type: VARCHAR.

  • Contoh:

    SELECT format(12332.123456, 4)AS result1, format(12332.1,4)AS result2, format(12332.2,0)AS result3;

    The following result is returned:

    +-------------+-------------+---------+
    | result1     | result2     | result3 |
    +-------------+-------------+---------+
    | 12,332.1235 | 12,332.1000 | 12,332  |
    +-------------+-------------+---------+

FROM_BASE64

from_base64(x)
  • Description: Mendekode parameter x yang dienkripsi Base64 dan mengembalikan hasil dekode.

  • Input parameter data type: VARBINARY atau VARCHAR.

  • Return value data type: VARBINARY.

    Catatan

    Nilai kembali yang didekode bertipe VARBINARY. Untuk mengonversi hasilnya ke tipe VARCHAR, gunakan salah satu metode berikut:

    • Untuk kluster AnalyticDB for MySQL versi 3.1.4 atau lebih baru, Anda dapat menggunakan fungsi CAST AS VARCHAR untuk mengonversi tipe data. Untuk informasi lebih lanjut, lihat fungsi CAST.

    • Untuk kluster AnalyticDB for MySQL versi sebelum V3.1.4, gunakan fungsi FROM_UTF8 untuk mengonversi tipe data. Untuk informasi lebih lanjut, lihat FROM_UTF8.

  • Contoh:

    • Parameter input bertipe VARCHAR. Pernyataannya sebagai berikut:

      SELECT from_base64('Q2hpbmE=');         

      The following result is returned:

      +--------------------------------------------------+
      | from_base64('Q2hpbmE=')                          |
      +--------------------------------------------------+
      | 0x4368696E61                                     |
      +--------------------------------------------------+
      Catatan

      Nilai kembali pernyataan di atas bertipe VARBINARY. Untuk mendapatkan nilai VARCHAR aslinya, jalankan pernyataan berikut:

      SELECT cast(from_base64('Q2hpbmE=') AS varchar);

      The following result is returned:

      +------------------------------------------+
      | cast(from_base64('Q2hpbmE=') AS varchar) |
      +------------------------------------------+
      | China                                    |
      +------------------------------------------+
    • Parameter input bertipe VARBINARY. Pernyataannya sebagai berikut:

      SELECT from_base64(cast(to_base64('China') AS varbinary));

      The following result is returned:

      +--------------------------------------------------------------------------------------------------------+
      | from_base64(cast(to_base64('China') AS varbinary))                                                     |
      +--------------------------------------------------------------------------------------------------------+
      | 0x4368696E61                                                                                           |
      +--------------------------------------------------------------------------------------------------------+

FROM_UTF8

from_utf8(x)
from_utf8(x, y)
  • Deskripsi:

    • from_utf8(x): Mendekode x yang dikodekan dalam UTF-8 dan mengembalikan hasil dekodenya.

    • from_utf8(x, y): Mendekode parameter x sebagai string UTF-8, mengganti karakter yang tidak valid dengan karakter tertentu.

      Catatan
      • Parameter y bersifat opsional. Jika Anda tidak menentukan y, dikembalikan secara default.

      • y dapat berupa karakter yang tidak valid itu sendiri, seperti #, atau kode ASCII dari karakter yang tidak valid tersebut, seperti 35.

  • Input parameter data type: x bertipe VARBINARY, dan y bertipe VARCHAR atau BIGINT.

  • Return value data type: VARCHAR.

  • Contoh:

    • Mendekode parameter yang dikodekan dalam UTF-8 dan mengembalikan hasilnya. Pernyataannya adalah sebagai berikut:

      SELECT from_utf8(to_utf8('hello'));

      The following result is returned:

      +-----------------------------+
      | from_utf8(to_utf8('hello')) |
      +-----------------------------+
      | hello                       |
      +-----------------------------+
    • Dekode parameter yang tidak dikodekan dalam UTF-8. Pernyataannya adalah sebagai berikut:

      SELECT from_utf8(unhex('58BF'));

      The following result is returned:

      +--------------------------+
      | from_utf8(unhex('58BF')) |
      +--------------------------+
      | X                       |
      +--------------------------+
    • Dekode parameter yang tidak dienkripsi UTF-8 dan ganti karakter yang tidak valid dengan #. Pernyataannya sebagai berikut:

      SELECT from_utf8(unhex('58BF'), '#');

      The following result is returned:

      +-------------------------------+
      | from_utf8(unhex('58BF'), '#') |
      +-------------------------------+
      | X#                            |
      +-------------------------------+
    • Mendekode parameter yang dikodekan dalam format non-UTF-8 dan mengganti urutan byte yang tidak valid dengan karakter tidak valid yang memiliki kode ASCII 35. Pernyataannya adalah sebagai berikut:

      SELECT from_utf8(unhex('58BF'), '35');

      The following result is returned:

      +-------------------------------+
      | from_utf8(unhex('58BF'), '35') |
      +-------------------------------+
      | X#                            |
      +-------------------------------+

HEX

hex(x)
  • Description: Mengonversi parameter x ke representasi string heksadesimalnya.

  • Input parameter data type: BIGINT atau VARCHAR.

  • Return value data type: VARCHAR.

  • Contoh:

    • Nilai input bertipe BIGINT. Pernyataannya sebagai berikut:

      SELECT hex(16);

      The following result is returned:

      +---------+
      | hex(16) |
      +---------+
      | 10      |
      +---------+
    • Nilai input bertipe VARCHAR. Pernyataannya sebagai berikut:

      SELECT hex('16');

      The following result is returned:

      +-----------+
      | hex('16') |
      +-----------+
      | 3136      |
      +-----------+                  

INSTR

instr(str, substr)
  • Description: Mengembalikan posisi kemunculan pertama substring substr dalam string str.

  • Input parameter data type: str dan substr bertipe VARCHAR.

  • Return value data type: BIGINT.

  • Contoh:

    SELECT instr('foobarbar', 'bar');

    The following result is returned:

    +---------------------------+
    | instr('foobarbar', 'bar') |
    +---------------------------+
    |                         4 |
    +---------------------------+

LEFT

LEFT(str, len)
  • Description: Mengembalikan len karakter paling kiri dari string str.

    Jika str atau len bernilai null, null dikembalikan.

  • Input parameter data type: str bertipe VARCHAR, dan len bertipe BIGINT.

  • Return value data type: VARCHAR.

  • Contoh:

    SELECT LEFT('foobarbar', 5);               

    The following result is returned:

    +----------------------+
    | LEFT('foobarbar', 5) |
    +----------------------+
    | fooba                |
    +----------------------+              

LENGTH atau OCTET_LENGTH

length(str)
octet_length(str)
  • Description: Mengembalikan panjang string str.

  • Input parameter data type: VARCHAR.

  • Return value data type: BIGINT.

  • Contoh:

    SELECT length('aliyun');               

    The following result is returned:

    +------------------+
    | length('aliyun') |
    +------------------+
    |                6 |
    +------------------+

LIKE

expression [NOT] LIKE pattern [ESCAPE 'escape_char']
  • Description: Operator LIKE mencocokkan string expression dengan pattern. Fungsi ini mengembalikan 1 untuk kecocokan yang berhasil dan 0 jika tidak. Parameter-parameter dijelaskan sebagai berikut:

    • pattern adalah pola wildcard. Karakter wildcard meliputi:

      • %: Cocok dengan string apa pun dengan panjang berapa pun.

      • _: Cocok dengan satu karakter.

    • escape_char: Meng-escape karakter % dan _ dalam pattern sehingga karakter % dan _ yang mengikuti karakter escape tidak digunakan sebagai wildcard.

  • Input parameter data type: expression dan pattern bertipe VARCHAR.

  • Return value data type: BIGINT.

  • Contoh:

    • Statement:

      SELECT 'David!' LIKE 'David_' AS result1, 'David!' NOT LIKE 'David_' AS result2,  'David!' LIKE '%D%v%' AS result3;

      The following result is returned:

      +---------+---------+---------+
      | result1 | result2 | result3 |
      +---------+---------+---------+
      |       1 |       0 |       1 |
      +---------+---------+---------+            
    • Statement:

      SELECT 'David_' LIKE 'David|_' ESCAPE '|';

      The following result is returned:

      +----------------------------------+
      | David_' LIKE 'David|_' ESCAPE '| |
      +----------------------------------+
      |                                1 |
      +----------------------------------+

LOCATE

locate(substr, str)
locate(substr, str, pos)
  • Description: Mengembalikan posisi kemunculan pertama substr dalam string str. Atau, mengembalikan posisi kemunculan pertama substr dalam str mulai dari posisi pos.

    Jika substr tidak ada di str, 0 dikembalikan.

    Jika substr atau str bernilai null, null dikembalikan.

  • Input parameter data type: str dan substr bertipe VARCHAR, dan pos bertipe BIGINT.

  • Return value data type: BIGINT.

  • Contoh:

    • Statement:

      SELECT locate('bar', 'foobarbar');                

      The following result is returned:

      +----------------------------+
      | locate('bar', 'foobarbar') |
      +----------------------------+
      |                          4 |
      +----------------------------+                
    • Statement:

      SELECT locate('bar', 'foobarbar', 7);              

      The following result is returned:

      +-------------------------------+
      | locate('bar', 'foobarbar', 7) |
      +-------------------------------+
      |                             7 |
      +-------------------------------+                   

LOWER atau LCASE

lower(str)
lcase(str)
  • Description: Mengonversi huruf dalam string str menjadi huruf kecil.

  • Tipe nilai kembalian: VARCHAR.

  • Return value data type: VARCHAR.

  • Contoh:

    SELECT lower('Aliyun');

    The following result is returned:

    +-----------------+
    | lower('Aliyun') |
    +-----------------+
    | aliyun          |
    +-----------------+

LPAD

lpad(str, len, padstr)
  • Description: Menambahkan padding di sebelah kiri string str dengan padstr hingga panjangnya menjadi len karakter dan mengembalikan string yang telah dipad.

    Jika str lebih panjang dari len, nilai kembaliannya dipersingkat menjadi len karakter.

  • Input parameter data type: str dan padstr bertipe VARCHAR, dan len bertipe BIGINT.

  • Return value data type: VARCHAR.

  • Contoh:

    SELECT lpad('Aliyun',9,'#');              

    The following result is returned:

    +----------------------+
    | lpad('Aliyun',9,'#') |
    +----------------------+
    | ###Aliyun            |
    +----------------------+              

LTRIM

ltrim(str)
  • Description: Menghapus semua spasi awal dari string str.

  • Input parameter data type: VARCHAR.

  • Return value data type: VARCHAR.

  • Contoh:

    SELECT ltrim('  abc');                  

    The following result is returned:

    +----------------+
    | ltrim('  abc') |
    +----------------+
    | abc            |
    +----------------+

MAKE_SET

make_set(bits, str 1, str 2,...);
  • Description: Mengembalikan nilai set, yaitu string yang berisi substring-substring yang dipisahkan oleh karakter. Set tersebut berisi string-string yang memiliki bit yang sesuai.

    str 1 berkorespondensi dengan bit 0, str 2 berkorespondensi dengan bit 1, dan seterusnya. Nilai null dalam str 1, str 2, dan seterusnya tidak ditambahkan ke hasil.

  • Input parameter data type: bits bertipe BIGINT, dan str bertipe VARCHAR.

  • Return value data type: VARCHAR.

  • Contoh:

    • Statement:

      SELECT make_set(5,'hello','nice','world');

      The following result is returned:

      +------------------------------------+
      | make_set(5,'hello','nice','world') |
      +------------------------------------+
      | hello,world                        |
      +------------------------------------+               
    • Statement:

      SELECT make_set(1 | 4,'hello','nice',NULL,'world')AS result;    

      The following result is returned:

      +--------+
      | result |
      +--------+
      | hello  |
      +--------+                

MD5_MUR

MD5_MUR(x)
  • Description: Menghitung hash MD5 dari parameter input x lalu mengonversi hash tersebut ke nilai hash LONG menggunakan algoritma MurmurHash3. Fungsi ini memiliki tingkat tabrakan yang lebih rendah dibandingkan algoritma CRC32.

  • Input parameter data type: VARCHAR.

  • Return value data type: LONG.

  • Version requirement: Kluster Anda harus menggunakan kernel versi 3.2.5 atau lebih baru.

  • Example:

    • Statement:

      SELECT MD5_MUR('TEST') as result;
    • The following result is returned:

      +--------------------------+
      | result |
      +--------------------------+
      | -6711128042951586494     |
      +--------------------------+                

MID

mid(str, pos, len)
  • Description: Fungsi ini setara dengan SUBSTR or SUBSTRING dan mengembalikan substring dengan panjang len dari string str, dimulai dari pos.

  • Input parameter data type: str bertipe VARCHAR, dan pos serta len bertipe BIGINT.

  • Return value data type: VARCHAR.

  • Contoh:

    • Statement:

      SELECT mid('Quadratically',5,6);

      The following result is returned:

      +--------------------------+
      | mid('Quadratically',5,6) |
      +--------------------------+
      | ratica                   |
      +--------------------------+                
    • Statement:

      SELECT mid('Sakila', -5, 3);

      The following result is returned:

      +----------------------+
      | mid('Sakila', -5, 3) |
      +----------------------+
      | aki                  |
      +----------------------+              

OCT

oct(N)
  • Description: Mengembalikan representasi string oktal dari integer N.

    Jika N bernilai null, null dikembalikan.

  • Input parameter data type: BIGINT.

  • Return value data type: VARCHAR.

  • Contoh:

    SELECT oct(12);

    The following result is returned:

    +---------+
    | oct(12) |
    +---------+
    | 14      |
    +---------+

ORD

ord(x)
  • Description: Jika karakter paling kiri dari string x adalah karakter multibyte, fungsi ini mengembalikan kode karakter tersebut.

  • Input parameter data type: VARBINARY atau VARCHAR.

  • Return value data type: LONG.

  • Contoh:

    • Parameter input bertipe VARCHAR. Pernyataannya sebagai berikut:

      SELECT ord('China');

      The following result is returned:

      +--------------+
      | ord('China') |
      +--------------+
      |           67 |
      +--------------+
    • Parameter input bertipe VARBINARY. Pernyataannya sebagai berikut:

      SELECT ord(cast('China' AS varbinary));

      The following result is returned:

      +---------------------------------+
      | ord(cast('China' AS varbinary)) |
      +---------------------------------+
      |                              67 |
      +---------------------------------+

POSITION

position(substr IN str);
  • Description: Mengembalikan posisi kemunculan pertama substring substr dalam string str. Posisi dimulai dari 1. Jika substring tidak ditemukan, 0 dikembalikan.

  • Input parameter data type: substr dan str bertipe VARCHAR.

  • Return value data type: BIGINT.

  • Contoh:

    SELECT position('bar' in 'foobarbar');                 

    The following result is returned:

    +--------------------------------+
    | position('bar' in 'foobarbar') |
    +--------------------------------+
    |                              4 |
    +--------------------------------+

REPEAT

repeat(str, count);
  • Description: Mengembalikan string yang terdiri atas str yang diulang sebanyak count kali.

    Jika count<1, string kosong dikembalikan.

    Jika str atau count bernilai null, null dikembalikan.

  • Input parameter data type: str bertipe VARCHAR, dan count bertipe BIGINT.

  • Return value data type: VARCHAR.

  • Contoh:

    • Statement:

      SELECT repeat('a', 3);            

      The following result is returned:

      +----------------+
      | repeat('a', 3) |
      +----------------+
      | aaa            |
      +----------------+             
    • Statement:

      SELECT repeat('abc', null);

      The following result is returned:

      +---------------------+
      | repeat('abc', null) |
      +---------------------+
      | NULL                |
      +---------------------+                
    • Statement:

      SELECT repeat(null, 3);

      The following result is returned:

      +-----------------+
      | repeat(null, 3) |
      +-----------------+
      | NULL            |
      +-----------------+                 

REPLACE

replace(str, from_str, to_str);
  • Description: Mengganti semua kemunculan from_str dalam str dengan to_str.

  • Input parameter data type: str, from_str, dan to_str bertipe VARCHAR.

  • Return value data type: VARCHAR.

  • Contoh:

    SELECT replace('WWW.aliyun.com', 'W', 'w');

    The following result is returned:

    +-------------------------------------+
    | replace('WWW.aliyun.com', 'W', 'w') |
    +-------------------------------------+
    | www.aliyun.com                      |
    +-------------------------------------+

REVERSE

reverse(str);
  • Description: Mengembalikan string str dalam urutan terbalik.

  • Input parameter data type: VARCHAR.

  • Return value data type: VARCHAR.

  • Contoh:

    SELECT reverse('123456');

    The following result is returned:

    +-------------------+
    | reverse('123456') |
    +-------------------+
    | 654321            |
    +-------------------+

RIGHT

RIGHT(str, len);
  • Description: Mengembalikan len karakter paling kanan dari string str.

    Jika str atau len bernilai null, null dikembalikan.

  • Input parameter data type: str bertipe VARCHAR, dan len bertipe BIGINT.

  • Return value data type: VARCHAR.

  • Contoh:

    SELECT RIGHT('abc',3);             

    The following result is returned:

    +----------------+
    | RIGHT('abc',3) |
    +----------------+
    | abc            |
    +----------------+

RLIKE atau REGEXP

expression RLIKE pattern;
expression REGEXP pattern;
  • Description: Mengembalikan 1 jika string expression cocok dengan ekspresi reguler pattern, dan 0 jika tidak.

    Jika expression atau pattern bernilai null, null dikembalikan.

  • Input parameter data type: expression dan pattern bertipe VARCHAR.

  • Return value data type: BOOLEAN.

  • Contoh:

    • Statement:

      SELECT 'Michael!' REGEXP '.*';

      The following result is returned:

      +----------------------+
      | Michael!' REGEXP '.* |
      +----------------------+
      |                    1 |
      +----------------------+            
    • Statement:

      SELECT 'new*\n*line' REGEXP 'new\\*.\\*line';

      The following result is returned:

      +-------------------------------------+
      | new*\n*line' REGEXP 'new\\*.\\*line |
      +-------------------------------------+
      |                                   0 |
      +-------------------------------------+                
    • Statement:

      SELECT 'c' REGEXP '^[a-d]';                 

      The following result is returned:

      +-------------------+
      | c' REGEXP '^[a-d] |
      +-------------------+
      |                 1 |
      +-------------------+                  

RPAD

rpad(str, len, padstr)
  • Description: Menambahkan padding di sebelah kanan string str dengan padstr hingga panjangnya menjadi len karakter dan mengembalikan string yang telah dipad.

    Jika str lebih panjang dari len, nilai kembaliannya dipersingkat menjadi len karakter.

  • Input parameter data type: str dan padstr bertipe VARCHAR, dan len bertipe BIGINT.

  • Return value data type: VARCHAR.

  • Contoh:

    SELECT rpad('Aliyun',9,'#');                  

    The following result is returned:

    +----------------------+
    | rpad('Aliyun',9,'#') |
    +----------------------+
    | Aliyun###            |
    +----------------------+              

RTRIM

rtrim(str)
  • Description: Menghapus semua spasi akhir dari string str.

  • Input parameter data type: VARCHAR.

  • Return value data type: VARCHAR.

  • Contoh:

    SELECT rtrim('barbar   ');

    The following result is returned:

    +--------------------+
    | rtrim('barbar   ') |
    +--------------------+
    | barbar             |
    +--------------------+

SPACE

space(N);
  • Description: Mengembalikan string yang terdiri atas sejumlah spasi tertentu.

    Catatan

    Anda dapat menggunakan fungsi ini bersama fungsi contact() untuk menampilkan hasilnya.

  • Input parameter data type: BIGINT.

  • Return value data type: VARCHAR.

  • Contoh:

    SELECT concat("#", space(6), "#");                 

    The following result is returned:

    +----------------------------+
    | concat("#", space(6), "#") |
    +----------------------------+
    | #      #                   |
    +----------------------------+

SPLIT

split(string, delimiter)
  • Description: Memisahkan string berdasarkan delimiter dan mengembalikan array.

  • Input parameter data type: string dan delimiter bertipe VARCHAR.

  • Return value data type: ARRAY<varchar>.

  • Contoh:

    SELECT split('1#2#3', '#'), split('#1#2#3#', '#'),  split('123', '#');

    The following result is returned:

    +---------------------+-----------------------+-------------------+
    | split('1#2#3', '#') | split('#1#2#3#', '#') | split('123', '#') |
    +---------------------+-----------------------+-------------------+
    | ["1","2","3"]       | ["","1","2","3",""]   | ["123"]           |
    +---------------------+-----------------------+-------------------+

SPLIT_PART

split_part(string, delimiter, index)
  • Description: Memisahkan string berdasarkan delimiter dan mengembalikan substring pada indeks array index. index dimulai dari 1. Jika indeks lebih besar dari jumlah bidang, NULL dikembalikan.

  • Input parameter data type: string dan delimiter bertipe VARCHAR, dan index bertipe BIGINT.

  • Return value data type: VARCHAR.

  • Contoh:

    SELECT split_part('A#B#C', '#', 2), split_part('A#B#C', '#', 4);

    The following result is returned:

    +-----------------------------+-----------------------------+
    | split_part('A#B#C', '#', 2) | split_part('A#B#C', '#', 4) |
    +-----------------------------+-----------------------------+
    | B                           | NULL                        |
    +-----------------------------+-----------------------------+

SPLIT_TO_MAP

split_to_map(string, entryDelimiter, keyValueDelimiter)
  • Description: Memisahkan string menggunakan entryDelimiter dan keyValueDelimiter, lalu mengembalikan map. entryDelimiter memisahkan string menjadi pasangan key-value. keyValueDelimiter memisahkan setiap pasangan key-value menjadi key dan value.

  • Input parameter data type: string, entryDelimiter, dan keyValueDelimiter bertipe VARCHAR.

  • Return value data type: MAP<varchar, varchar>.

  • Contoh:

    SELECT split_to_map('k1:v1,k2:v2', ',', ':'),split_to_map('', ',', ':');

    The following result is returned:

    +---------------------------------------+----------------------------+
    | split_to_map('k1:v1,k2:v2', ',', ':') | split_to_map('', ',', ':') |
    +---------------------------------------+----------------------------+
    | {"k1":"v1","k2":"v2"}                 | {}                         |
    +---------------------------------------+----------------------------+

STRCMP

strcmp(str 1, str 2);
  • Description: Jika string str 1 dan str 2 identik, fungsi ini mengembalikan 0. Jika str 1 lebih kecil dari str 2 menurut urutan pengurutan saat ini, fungsi ini mengembalikan -1. Jika tidak, fungsi ini mengembalikan 1.

  • Input parameter data type: str 1 dan str 2 bertipe VARCHAR.

  • Return value data type: BIGINT.

  • Contoh:

    SELECT strcmp('text', 'text2');

    The following result is returned:

    +-------------------------+
    | strcmp('text', 'text2') |
    +-------------------------+
    |                      -1 |
    +-------------------------+

SUBSTR atau SUBSTRING

substr(str, pos)
substr(str FROM pos)
substr(str, pos, len)
substr(str FROM pos FOR len)
substring(str, pos)
substring(str FROM pos)
substring(str, pos, len)
substring(str FROM pos FOR len)
  • Deskripsi:

    • SUBSTRING(varchar str, bigint pos) dan SUBSTRING(varchar str FROM pos) mengembalikan substring dari posisi pos hingga akhir string. Jika pos<0, posisi awal dihitung mundur dari akhir string.

    • SUBSTRING(varchar str, bigint pos, bigint len) dan SUBSTRING(varchar str FROM pos FOR len) mengembalikan substring dengan panjang len dari posisi pos. Jika pos<0, posisi awal dihitung mundur dari akhir string.

  • Input parameter data type: str bertipe VARCHAR, dan pos serta len bertipe BIGINT.

  • Return value data type: VARCHAR.

  • Contoh:

    • Statement:

      SELECT substr('helloworld', 6);

      The following result is returned:

      +-------------------------+
      | substr('helloworld', 6) |
      +-------------------------+
      | world                   |
      +-------------------------+
    • Statement:

      SELECT substr('helloworld' FROM 6);

      The following result is returned:

      +-----------------------------+
      | substr('helloworld' FROM 6) |
      +-----------------------------+
      | world                       |
      +-----------------------------+
    • Statement:

      SELECT substr('helloworld', 6, 3);

      The following result is returned:

      +----------------------------+
      | substr('helloworld', 6, 3) |
      +----------------------------+
      | wor                        |
      +----------------------------+
    • Statement:

      SELECT substr('helloworld' from 6 for 3);

      The following result is returned:

      +-----------------------------------+
      | substr('helloworld' FROM 6 FOR 3) |
      +-----------------------------------+
      | wor                               |
      +-----------------------------------+

SUBSTRING_INDEX

substring_index(str, delim, count)
  • Deskripsi: Mengembalikan substring dari string str yang muncul sebelum atau sesudah kemunculan ke-count dari pemisah delim.

    Jika count>0, fungsi ini mengembalikan semua yang berada di sebelah kiri kemunculan ke-delim. Penghitungan dimulai dari kiri.

    Jika count<0, semua yang berada di sebelah kanan kemunculan ke-delim dikembalikan, dengan penghitungan dimulai dari kanan.

    Fungsi SUBSTRING_INDEX melakukan pencarian case-sensitive untuk delim.

  • Input parameter data type: str dan delim bertipe VARCHAR, dan count bertipe BIGINT.

  • Return value data type: VARCHAR.

  • Contoh:

    SELECT substring_index('www.aliyun.com', '.', 2);                 

    The following result is returned:

    +-------------------------------------------+
    | substring_index('www.aliyun.com', '.', 2) |
    +-------------------------------------------+
    | www.aliyun                                |
    +-------------------------------------------+

TO_BASE64

to_base64(x)
  • Description: Mengembalikan bentuk string yang dienkripsi Base64 dari parameter x.

  • Input parameter data type: VARBINARY atau VARCHAR.

  • Return value data type: VARCHAR.

  • Contoh:

    • Parameter input bertipe VARCHAR. Pernyataannya sebagai berikut:

      SELECT to_base64('China');

      The following result is returned:

      +--------------------+
      | to_base64('China') |
      +--------------------+
      | Q2hpbmE=           |
      +--------------------+
    • Parameter input bertipe VARBINARY. Pernyataannya sebagai berikut:

      SELECT to_base64(cast('China' AS varbinary));

      The following result is returned:

      +---------------------------------------+
      | to_base64(cast('China' AS varbinary)) |
      +---------------------------------------+
      | Q2hpbmE=                              |
      +---------------------------------------+

TO_UTF8

to_utf8(x)
  • Deskripsi: Mengembalikan bentuk terenkode UTF-8 dari parameter x.

  • Input parameter data type: VARCHAR.

  • Return value data type: VARCHAR.

  • Contoh:

    SELECT from_utf8(to_utf8('China'));

    The following result is returned:

    +-----------------------------+
    | from_utf8(to_utf8('China')) |
    +-----------------------------+
    | China                       |
    +-----------------------------+

TRIM

trim([remstr FROM] str)
trim([{BOTH | LEADING | TRAILING} [remstr] FROM] str)
  • Description: Memangkas string str dengan menghapus spasi awal dan akhir, atau dengan menghapus karakter yang sesuai dengan string opsional remstr.

  • Input parameter data type: VARCHAR.

  • Return value data type: VARCHAR.

  • Contoh:

    • Statement:

      SELECT trim('  bar   ');

      The following result is returned:

      +------------------+
      | trim('  bar   ') |
      +------------------+
      | bar              |
      +------------------+                 
    • Statement:

      SELECT trim(BOTH 'x' FROM 'xxxbarxxx');

      The following result is returned:

      +---------------------------------+
      | trim(BOTH 'x' FROM 'xxxbarxxx') |
      +---------------------------------+
      | bar                             |
      +---------------------------------+
    • Statement:

      SELECT trim(LEADING 'x' FROM 'xxxbarxxx');

      The following result is returned:

      +------------------------------------+
      | trim(LEADING 'x' FROM 'xxxbarxxx') |
      +------------------------------------+
      | barxxx                             |
      +------------------------------------+
    • Statement:

      SELECT trim(TRAILING 'x' from 'xxxbarxxx');

      The following result is returned:

      +-------------------------------------+
      | trim(TRAILING 'x' from 'xxxbarxxx') |
      +-------------------------------------+
      | xxxbar                              |
      +-------------------------------------+       

UPPER atau UCASE

upper(str)
ucase(str)
  • Description: Mengonversi huruf dalam string str menjadi huruf besar.

  • Input parameter data type: VARCHAR.

  • Return value data type: VARCHAR.

  • Contoh:

    SELECT upper('Aliyun');              

    The following result is returned:

    +-----------------+
    | upper('Aliyun') |
    +-----------------+
    | ALIYUN          |     

UNHEX

unhex(x);
  • Description: Menginterpretasikan setiap pasangan digit heksadesimal dalam parameter x sebagai angka dan mengonversinya ke karakter yang diwakili oleh angka tersebut.

  • Input parameter data type: VARBINARY atau VARCHAR.

  • Return value data type: VARBINARY.

    Catatan
    • Nilai kembali yang didekode bertipe VARBINARY. Untuk mengonversi hasilnya ke tipe VARCHAR, gunakan salah satu metode berikut:

      • Untuk kluster AnalyticDB for MySQL versi V3.1.4 atau lebih baru, gunakan fungsi CAST AS VARCHAR. Untuk informasi lebih lanjut, lihat fungsi CAST.

      • Untuk kluster AnalyticDB for MySQL versi sebelum V3.1.4, Anda dapat menggunakan fungsi FROM_UTF8 untuk mengonversi tipe data. Untuk informasi lebih lanjut, lihat FROM_UTF8.

    • Jika nilai input untuk UNHEX mengandung digit non-heksadesimal apa pun, NULL dikembalikan.

  • Contoh:

    • Parameter input bertipe VARCHAR. Pernyataannya sebagai berikut:

      SELECT unhex(hex('China'));

      The following result is returned:

      +------------------------------------------+
      | unhex(hex('China'))                      |
      +------------------------------------------+
      | China                                    |
      +------------------------------------------+
      Catatan

      Nilai kembali pernyataan di atas bertipe VARBINARY. Untuk mendapatkan nilai VARCHAR aslinya, jalankan pernyataan berikut:

      SELECT cast(unhex(hex('China')) AS varchar);

      The following result is returned:

      +--------------------------------------+
      | cast(unhex(hex('China')) AS varchar) |
      +--------------------------------------+
      | China                                |
      +--------------------------------------+              
    • Parameter input bertipe VARBINARY. Pernyataannya sebagai berikut:

      SELECT unhex(cast(hex('China') AS varbinary));

      The following result is returned:

      +------------------------------------------+
      | unhex(cast(hex('China') AS varbinary))   |
      +------------------------------------------+
      | China                                    |
      +------------------------------------------+