SQLite replace()
fungsi memungkinkan kita untuk mengganti satu string (atau bagian dari string) dengan string lain.
Cara kerjanya adalah Anda memberikan tiga argumen; string yang berisi substring yang akan diganti, substring di dalam string yang akan diganti, dan string yang akan diganti.
Sintaks
Sintaksnya seperti ini:
replace(X,Y,Z)
Fungsi mengembalikan string yang dibentuk dengan mengganti string Z untuk setiap kemunculan string Y dalam string X.
Urutan penyusunan BINARY digunakan untuk perbandingan. Jika Y adalah string kosong maka kembalikan X tidak berubah. Jika Z awalnya bukan string, Z akan dilemparkan ke string UTF-8 sebelum diproses.
Contoh
Berikut adalah contoh sederhana untuk didemonstrasikan.
SELECT replace('Red Sky', 'Red', 'Blue');
Hasil:
Blue Sky
Jika argumen kedua tidak ditemukan dalam argumen pertama, maka tidak ada yang diganti dan string asli dikembalikan.
SELECT replace('Red Sky', 'Green', 'Blue');
Hasil:
Red Sky
Jika argumen kedua adalah string kosong, sekali lagi, tidak ada yang diganti dan string asli dikembalikan.
SELECT replace('Red Sky', '', 'Blue');
Hasil:
Red Sky
Tetapi hal yang sama tidak dapat dikatakan tentang argumen ketiga. Jika itu string kosong (dan argumen kedua ditemukan di argumen pertama) maka argumen kedua akan dihapus dari string.
SELECT replace('Red Sky', 'Red', '');
Hasil:
Sky
Namun, ini tidak akan terjadi jika argumen kedua tidak ditemukan dalam string.
SELECT replace('Red Sky', 'Blue', '');
Hasil:
Red Sky
Mengganti dengan Non-String
Jika argumen ketiga bukan string, argumen tersebut dilemparkan ke string UTF-8 sebelum diproses.
SELECT replace('Red Sky', 'Red', 8);
Hasil:
8 Sky
Contoh Basis Data
Berikut adalah contoh yang mengambil data dari tabel database dan mengganti string/substring yang diberikan dengan string lain.
SELECT
ProductName,
replace(ProductName, 'Widget', 'Car')
FROM Products;
Hasil:
ProductName replace(ProductName, 'Widget', 'Car') -------------- ------------------------------------- Homer's Widget Homer's Car Peter's Widget Peter's Car Bob's Widget Bob's Car