Di MariaDB, REPLACE()
adalah fungsi string bawaan yang memungkinkan Anda mengganti bagian string dengan string lain.
Fungsi menerima tiga argumen:string, substring untuk diganti, dan string untuk menggantikan substring.
Sintaks
Sintaksnya seperti ini:
REPLACE(str,from_str,to_str)
Dimana str
adalah string, dan from_str
adalah substring yang akan diganti, dan to_str
adalah string untuk menggantikan substring itu.
Contoh
Berikut ini contoh dasarnya:
SELECT REPLACE('Black dog', 'dog', 'cat');
Hasil:
+------------------------------------+ | REPLACE('Black dog', 'dog', 'cat') | +------------------------------------+ | Black cat | +------------------------------------+
Dalam hal ini kami mengganti substring dog
dengan cat
.
Beberapa Kecocokan
Jika string yang akan diganti terjadi beberapa kali dalam string, semua kemunculan akan diganti:
SELECT REPLACE('Black dogs and white dogs', 'dog', 'cat');
Hasil:
+----------------------------------------------------+ | REPLACE('Black dogs and white dogs', 'dog', 'cat') | +----------------------------------------------------+ | Black cats and white cats | +----------------------------------------------------+
Tidak Cocok
Jika substring tidak muncul dalam string, REPLACE()
mengembalikan string tidak berubah:
SELECT REPLACE('Black dog', 'horse', 'cat');
Hasil:
+--------------------------------------+ | REPLACE('Black dog', 'horse', 'cat') | +--------------------------------------+ | Black dog | +--------------------------------------+
Sensitivitas Huruf Besar
REPLACE()
fungsi melakukan pencocokan peka huruf besar/kecil:
SELECT REPLACE('Black dog', 'Dog', 'Cat');
Hasil:
+------------------------------------+ | REPLACE('Black dog', 'Dog', 'Cat') | +------------------------------------+ | Black dog | +------------------------------------+
Dalam contoh ini, kasing tidak cocok, jadi tidak ada yang diganti.
String Kosong
Inilah yang terjadi ketika string kosong dilewatkan untuk setiap argumen yang diberikan:
SELECT
REPLACE('', 'dog', 'cat') AS "1",
REPLACE('Black dog', '', 'cat') AS "2",
REPLACE('Black dog', 'dog', '') AS "3";
Hasil:
+------+-----------+--------+ | 1 | 2 | 3 | +------+-----------+--------+ | | Black dog | Black | +------+-----------+--------+
Jadi dalam hal ini:
- Meneruskan string kosong untuk string awal akan mengembalikan string kosong.
- Meneruskan string kosong untuk argumen kedua akan mengembalikan string asli.
- Meneruskan string kosong untuk argumen ketiga akan menghapus string yang akan diganti dari string.
Karakter Spasi
String kosong tidak sama dengan karakter spasi.
Inilah yang terjadi ketika kita mengubah string kosong menjadi spasi:
SELECT
REPLACE(' ', 'dog', 'cat') AS "1",
REPLACE('Black dog', ' ', 'cat') AS "2",
REPLACE('Black dog', 'dog', ' ') AS "3";
Hasil:
+------+-------------+---------+ | 1 | 2 | 3 | +------+-------------+---------+ | | Blackcatdog | Black | +------+-------------+---------+
Oleh karena itu, jika string tidak lain adalah spasi, maka kita dapat menggantinya dengan string lain:
SELECT REPLACE(' ', ' ', 'cat');
Hasil:
+--------------------------+ | REPLACE(' ', ' ', 'cat') | +--------------------------+ | cat | +--------------------------+
Argumen Null
Memberikan null
menghasilkan null
:
SELECT
REPLACE(null, 'dog', 'cat') AS "1",
REPLACE('Black dog', null, 'cat') AS "2",
REPLACE('Black dog', 'dog', null) AS "3";
Hasil:
+------+------+------+ | 1 | 2 | 3 | +------+------+------+ | NULL | NULL | NULL | +------+------+------+
Argumen Tidak Ada
Memanggil REPLACE()
dengan jumlah argumen yang salah, atau tanpa memberikan argumen apa pun menghasilkan kesalahan:
SELECT REPLACE();
Hasil:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1