MySQL REPLACE()
fungsi memungkinkan Anda untuk mengganti semua kemunculan substring dengan string lain. Ini memungkinkan Anda untuk melakukan hal-hal seperti, mengganti semua kemunculan satu kata dengan kata lain, dll.
Artikel ini menunjukkan penggunaannya.
Sintaks
Begini sintaksnya:
REPLACE(str,from_str,to_str)
Dimana str
adalah string yang berisi substring/s. from_str
adalah substring yang ingin Anda ganti dengan string lain. Dan to_str
adalah string baru yang akan menggantikan string lama.
Contoh
Berikut ini contoh dasarnya:
SELECT REPLACE('Cats and dogs and cats and rabbits', 'and', 'or') AS Result;
Hasil:
+---------------------------------+ | Result | +---------------------------------+ | Cats or dogs or cats or rabbits | +---------------------------------+
Dalam hal ini, kita cukup menukar kata and
dengan kata or
. Karena ada tiga kemunculan kata itu, ketiganya diganti.
Peka Huruf Besar-kecil
Penting untuk diingat bahwa REPLACE()
fungsi peka huruf besar/kecil.
Contoh:
SELECT REPLACE('Cats and dogs and cats and rabbits', 'cat', 'flea') AS Result;
Hasil:
+-------------------------------------+ | Result | +-------------------------------------+ | Cats and dogs and fleas and rabbits | +-------------------------------------+
Dalam hal ini, hanya satu contoh cat
diganti, karena hanya satu instance yang memiliki case yang tepat. Contoh pertama memiliki huruf besar C
jadi tidak cocok.
Hapus Substring
Anda juga dapat menghapus substring sekaligus, cukup dengan mengganti substring dengan string kosong (''
):
SELECT REPLACE('http://www.database.guide', 'www.', '') AS Result;
Hasil:
+-----------------------+ | Result | +-----------------------+ | http://database.guide | +-----------------------+
Perlindungan
Cara lain (mungkin lebih aman) untuk melakukan ini adalah dengan menyertakan beberapa teks di sekitarnya, lalu hapus bagian yang tidak perlu:
SELECT REPLACE('http://www.database.guide', 'http://www.', 'http://') AS Result;
Hasil:
+-----------------------+ | Result | +-----------------------+ | http://database.guide | +-----------------------+
Ini menjaga agar tidak menghapus substring yang tidak boleh dihapus secara tidak sengaja. Misalnya, jika kita memiliki URL seperti http://bestwww.com
, yang secara tidak sengaja akan berubah menjadi http://bestcom
tanpa pengaman.
Perlindungan yang sama dapat diterapkan jika Anda mengganti teks (bukan hanya menghapusnya). Misalnya, ini:
SELECT REPLACE('Land of cats and dogs and sand', ' and ', ' or ') AS Result;
Hasil:
+------------------------------+ | Result | +------------------------------+ | Land of cats or dogs or sand | +------------------------------+
Dalam hal ini saya menambahkan spasi sebelum dan sesudah substring dan teks penggantinya.
Jika saya tidak melakukan ini, saya akan berakhir dengan ini:
SELECT REPLACE('Land of cats and dogs and sand', 'and', 'or') AS Result;
Hasil:
+----------------------------+ | Result | +----------------------------+ | Lor of cats or dogs or sor | +----------------------------+