در تابع REPLACE می‌توان کاراکتری را به جای کاراکتری دیگر جایگزین نمود. این تابع دارای حداقل دو و حداکثر سه آرگومان می‌باشد. آرگومان اول فیلد مورد نظر را جستجو و آرگومان دوم، کلید جست‌و‌جو است. آرگومان سوم کاراکتر جایگزین می‌باشد. توجه داشته باشید که آرگومان سوم اختیاری است. به مثال زیر دقت کنید.

SQL> SELECT * FROM PERSON;
NAME      FAMILY               AGE ID-PERSON 
-------- ----------- ------------- ----------
MOHAMMAD GHAFFARI 23 1
MAHDI GHAFFARI 21 2
MOHSEN GHAFFARI 19 3
FARZAD KARKHANI 26 4
EHSAN JALALI 23 5
SELECT NAME, REPLACE(NAME, 'MO', '##') FROM PERSON;

در دستور بالا، REPLACE داده‌های فیلد NAME را پیدا کرده به جای MO ، کاراکتر ## را قرار می‌دهد. نتیجه دستور را، در زیر می‌بینیم.

NAME      FAMILY               AGE ID-PERSON 
-------- ----------- ------------- ----------
##HAMMAD GHAFFARI 23 1
MAHDI GHAFFARI 21 2
##HSEN GHAFFARI 19 3
FARZAD KARKHANI 26 4
EHSAN JALALI 23 5

شاید برای شما سوال پیش اومده باشه که، اگر آرگومان سوم را حذف کنیم، چه اتفاقی خواهد افتاد. به مثال بعد توجه کنید:

SELECT NAME, REPLACE(NAME, 'M') REPLACE_NAME_M FROM PERSON;

دستور فوق، حرف M را از داده‌های فیلد NAME حذف می‌کند. نتیجه دستور را، در زیر مشاهده می‌کنید.

NAME      REPLACE_NAME_M
--------- ----------------
MOHAMMAD OHAMMAD
MAHDI AHDI
MOHSEN OHSEN
FARZAD FARZAD
EHSAN EHSAN

حال اگر آرگومان دوم را NULL قرار دهیم، چه اتفاقی خواهد افتاد؟! دستور زیر را با هم می‌بینیم:

SELECT NAME, REPLACE(NAME, NULL) REPLACE_NAME_M FROM PERSON;

همان‌طور که در زیر مشاهده می‌کنید، اگر آرگومان دوم را NULL قرار دهیم، فیلد مذکور بدون تغییر باقی خواهد ماند.

NAME      REPLACE_NAME_M
--------- ----------------
MOHAMMAD MOHAMMAD
MAHDI MAHDI
MOHSEN MOHSEN
FARZAD FARZAD
EHSAN EHSAN