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
entryDelimiterdankeyValueDelimiter, lalu mengembalikanmap.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
strataustr.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
Nadalahnull,NULLdikembalikan.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
strdalam 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
strdalam 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 adalahnull.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
separatoradalah delimiter untuk parameter-parameter lainnya. String-string yang bernilainulldilewati 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<1atau N lebih besar dari jumlah parameter string,nulldikembalikan.Input parameter data type:
Nbertipe BIGINT, danstrbertipe 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.yadalah nilai salt.Input parameter data type:
xbertipe VARBINARY, danybertipe 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
bitske 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 nilaioffstr.Nilai-nilai kembalian dipisahkan oleh
separator.number_of_bitsmenentukan jumlah bit yang diperiksa. Nilai default-nya adalah 64. Jika Anda menentukan nilai lebih dari 64 untuknumber_of_bits, nilainya dipotong menjadi 64. Jika Anda menentukan -1 untuknumber_of_bits, nilai default 64 digunakan.
Input parameter data type:
bitsdannumber_of_bitsbertipe BIGINT.onstr,offstr, danseparatorbertipe VARCHAR.Return value data type: VARCHAR.
Contoh:
Konversi 5 ke nilai biner, dan ambil dua bit pertama dari kanan ke kiri. Ganti 1 dengan
adan 0 denganb. Pisahkanadanbdengan 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
1dan 0 dengan0. Pisahkan1dan0dengan 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
strdalam daftarstr 1,str 2, ...,str n. Jikastrtidak ditemukan,0dikembalikan.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
strdalam daftarstrlist.Jika
strtidak ada distrlistatau jikastrlistadalah string kosong,0dikembalikan.Jika parameter
strataustrlistbernilainull,nulldikembalikan.Input parameter data type:
strdanstrlistbertipe 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
Xke dalam gaya#,###,###.##, membulatkannya keDtempat desimal, dan mengembalikan hasilnya sebagai string.Jika
Dadalah0, hasilnya tidak memiliki titik desimal atau bagian pecahan.Input parameter data type:
Xbertipe DOUBLE, danDbertipe 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
xyang dienkripsi Base64 dan mengembalikan hasil dekode.Input parameter data type: VARBINARY atau VARCHAR.
Return value data type: VARBINARY.
CatatanNilai 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 VARCHARuntuk mengonversi tipe data. Untuk informasi lebih lanjut, lihat fungsi CAST.Untuk kluster AnalyticDB for MySQL versi sebelum V3.1.4, gunakan fungsi
FROM_UTF8untuk 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 | +--------------------------------------------------+CatatanNilai 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): Mendekodexyang dikodekan dalam UTF-8 dan mengembalikan hasil dekodenya.from_utf8(x, y): Mendekode parameterxsebagai string UTF-8, mengganti karakter yang tidak valid dengan karakter tertentu.CatatanParameter
ybersifat opsional. Jika Anda tidak menentukany,dikembalikan secara default.ydapat berupa karakter yang tidak valid itu sendiri, seperti#, atau kode ASCII dari karakter yang tidak valid tersebut, seperti35.
Input parameter data type:
xbertipe VARBINARY, danybertipe 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
xke 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
substrdalam stringstr.Input parameter data type:
strdansubstrbertipe 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
lenkarakter paling kiri dari stringstr.Jika
strataulenbernilainull,nulldikembalikan.Input parameter data type:
strbertipe VARCHAR, danlenbertipe 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
LIKEmencocokkan stringexpressiondenganpattern. Fungsi ini mengembalikan1untuk kecocokan yang berhasil dan0jika tidak. Parameter-parameter dijelaskan sebagai berikut:patternadalah pola wildcard. Karakter wildcard meliputi:%: Cocok dengan string apa pun dengan panjang berapa pun._: Cocok dengan satu karakter.
escape_char: Meng-escape karakter%dan_dalampatternsehingga karakter%dan_yang mengikuti karakter escape tidak digunakan sebagai wildcard.
Input parameter data type:
expressiondanpatternbertipe 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
substrdalam stringstr. Atau, mengembalikan posisi kemunculan pertamasubstrdalamstrmulai dari posisipos.Jika
substrtidak ada distr,0dikembalikan.Jika
substrataustrbernilainull,nulldikembalikan.Input parameter data type:
strdansubstrbertipe VARCHAR, danposbertipe 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
strmenjadi 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
strdenganpadstrhingga panjangnya menjadilenkarakter dan mengembalikan string yang telah dipad.Jika
strlebih panjang darilen, nilai kembaliannya dipersingkat menjadilenkarakter.Input parameter data type:
strdanpadstrbertipe VARCHAR, danlenbertipe 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 1berkorespondensi dengan bit0,str 2berkorespondensi dengan bit1, dan seterusnya. Nilainulldalamstr 1,str 2, dan seterusnya tidak ditambahkan ke hasil.Input parameter data type:
bitsbertipe BIGINT, danstrbertipe 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
lendari stringstr, dimulai daripos.Input parameter data type:
strbertipe VARCHAR, danpossertalenbertipe 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
Nbernilainull,nulldikembalikan.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
xadalah 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
substrdalam stringstr. Posisi dimulai dari1. Jika substring tidak ditemukan,0dikembalikan.Input parameter data type:
substrdanstrbertipe 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
stryang diulang sebanyakcountkali.Jika
count<1, string kosong dikembalikan.Jika
strataucountbernilainull,nulldikembalikan.Input parameter data type:
strbertipe VARCHAR, dancountbertipe 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_strdalamstrdenganto_str.Input parameter data type:
str,from_str, danto_strbertipe 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
strdalam 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
lenkarakter paling kanan dari stringstr.Jika
strataulenbernilainull,nulldikembalikan.Input parameter data type:
strbertipe VARCHAR, danlenbertipe 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
1jika stringexpressioncocok dengan ekspresi regulerpattern, dan0jika tidak.Jika
expressionataupatternbernilainull,nulldikembalikan.Input parameter data type:
expressiondanpatternbertipe 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
strdenganpadstrhingga panjangnya menjadilenkarakter dan mengembalikan string yang telah dipad.Jika
strlebih panjang darilen, nilai kembaliannya dipersingkat menjadilenkarakter.Input parameter data type:
strdanpadstrbertipe VARCHAR, danlenbertipe 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.
CatatanAnda 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
stringberdasarkandelimiterdan mengembalikan array.Input parameter data type:
stringdandelimiterbertipe 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
stringberdasarkandelimiterdan mengembalikan substring pada indeks arrayindex.indexdimulai dari 1. Jika indeks lebih besar dari jumlah bidang, NULL dikembalikan.Input parameter data type:
stringdandelimiterbertipe VARCHAR, danindexbertipe 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
entryDelimiterdankeyValueDelimiter, lalu mengembalikanmap.entryDelimitermemisahkan string menjadi pasangankey-value.keyValueDelimitermemisahkan setiap pasangankey-valuemenjadikeydanvalue.Input parameter data type:
string,entryDelimiter, dankeyValueDelimiterbertipe 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 1danstr 2identik, fungsi ini mengembalikan0. Jikastr 1lebih kecil daristr 2menurut urutan pengurutan saat ini, fungsi ini mengembalikan-1. Jika tidak, fungsi ini mengembalikan1.Input parameter data type:
str 1danstr 2bertipe 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)danSUBSTRING(varchar str FROM pos)mengembalikan substring dari posisiposhingga akhir string. Jikapos<0, posisi awal dihitung mundur dari akhir string.SUBSTRING(varchar str, bigint pos, bigint len)danSUBSTRING(varchar str FROM pos FOR len)mengembalikan substring dengan panjanglendari posisipos. Jikapos<0, posisi awal dihitung mundur dari akhir string.
Input parameter data type:
strbertipe VARCHAR, danpossertalenbertipe 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
stryang muncul sebelum atau sesudah kemunculan ke-count dari pemisahdelim.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-delimdikembalikan, dengan penghitungan dimulai dari kanan.Fungsi
SUBSTRING_INDEXmelakukan pencarian case-sensitive untukdelim.Input parameter data type:
strdandelimbertipe VARCHAR, dancountbertipe 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
strdengan menghapus spasi awal dan akhir, atau dengan menghapus karakter yang sesuai dengan string opsionalremstr.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
strmenjadi 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
xsebagai angka dan mengonversinya ke karakter yang diwakili oleh angka tersebut.Input parameter data type: VARBINARY atau VARCHAR.
Return value data type: VARBINARY.
CatatanNilai 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_UTF8untuk 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 | +------------------------------------------+CatatanNilai 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 | +------------------------------------------+