Skip to main content
MySQL

Menggunakan REPLACE dalam MySQL

07 June 2012
Syntax REPLACE mempunyai pelbagai fungsi di dalam MySQL. Ianya bergantung kepada penggunaannya samada dari segi paparan data dan juga pengemaskinian data.

1. Menggunakan REPLACE untuk mewujudkan Line Breaks (<br />).

Selalunya masalah ini terjadi apabila ingin memaparkan data daripada input TEXTAREA di mana apabila data dimasukkan terdapat beberapa baris, terutamanya jika memasukkan input seperti Alamat atau Perenggan. Contohnya :



Apabila menggunakan Query biasa, hasilnya seperti berikut :
SELECT alamat FROM senaraiTempahan;
------------------------------------------------------------------------------------
No. 1811, Lorong Persiaran Persona, 18110 W.P. Putrajaya, MALAYSIA.
Dan apabila saya menggunakan SELECT REPLACE, hasilnya pula seperti berikut :
SELECT REPLACE(alamat,'\n','<br />')alamat FROM senaraiTempahan
------------------------------------------------------------------------------------
No. 1811,
Lorong Persiaran Persona,
18110 W.P. Putrajaya,
MALAYSIA.

2. Menggunakan REPLACE untuk memaparkan data TANPA memaparkan maklumat yang tidak perlu.

+-----------+--------------+-------------+
| id_gambar |    gam_thumb |    gam_full |
+-----------+--------------+-------------+
|         1 | thumb001.jpg | full001.jpg |
|         2 | thumb002.jpg | full002.jpg |
|         3 | thumb003.jpg | full003.jpg |
+-----------+--------------+-------------+
Saya ingin memaparkan senarai data seperti senarai di atas tanpa memaparkan perkataan thumb dan full. Saya menggunakan query berikut :
SELECT
  REPLACE( [field_name], '[string_to_find]', '[string_to_replace]' )[field_name]
FROM [table_name];
SELECT id_gambar,
  REPLACE( gam_thumb, 'thumb', '' )gam_thumb,
  REPLACE( gam_full, 'full', '' )gam_thumb
FROM gambar;
Dan hasilnya adalah seperti berikut :
+-----------+-----------+----------+
| id_gambar | gam_thumb | gam_full |
+-----------+-----------+----------+
|         1 |   001.jpg |  001.jpg |
|         2 |   002.jpg |  002.jpg |
|         3 |   003.jpg |  003.jpg |
+-----------+-----------+----------+

3. Menggunakan REPLACE untuk mengemaskini data.

+-----------+--------------+-------------+
| id_gambar |    gam_thumb |    gam_full |
+-----------+--------------+-------------+
|         1 | thumb001.jpg | full001.jpg |
|         2 | thumb002.jpg | full002.jpg |
|         3 | thumb003.jpg | full003.jpg |
+-----------+--------------+-------------+
Saya ingin mengemaskini data di dalam database dengan menukarkan perkataan .jpg kepada .gif. Query berikut digunakan :
UPDATE [table_name] SET [field_name] = REPLACE( [field_name], '[string_to_find]', '[string_to_replace]' ) ;
UPDATE gambar SET
gam_thumb = REPLACE( gam_thumb, '.jpg', '.gif' ),
gam_full = REPLACE( gam_full, '.jpg', '.gif' ) ;
Dan hasilnya adalah seperti berikut :
+-----------+--------------+-------------+
| id_gambar |    gam_thumb |    gam_full |
+-----------+--------------+-------------+
|         1 | thumb001.gif | full001.gif |
|         2 | thumb002.gif | full002.gif |
|         3 | thumb003.gif | full003.gif |
+-----------+--------------+-------------+
Sekian, selamat mencuba.