The Oracle REPLACE()
function replaces all occurrences of a specified substring in a string with another.
Syntax #
Here’s the syntax of the Oracle REPLACE()
function:
REPLACE(string_expression, string_pattern [,string_replacement])
Code language: SQL (Structured Query Language) (sql)
Arguments #
The Oracle REPLACE()
function accepts three arguments:
1) string_expression
is a string (or an expression that evaluates to a string) to be searched.
2) string_pattern
is a substring to be replaced.
3) string_replacement
is the replacement string.
Return Value #
The REPLACE()
function returns a string with every occurrence of the string_pattern
replaced with the string_replacement
.
If you omit the string_replacement
, the REPLACE()
function removes all occurrences of the string_pattern
in the string_expression
.
In case the string_pattern
is null or empty, the REPLACE()
function returns the string_expression
.
Examples #
The following statement replaces is
with 'IS'
in the string ‘This is a test'
:
SELECT
REPLACE ('This is a test', 'is', 'IS')
FROM
dual;
Code language: SQL (Structured Query Language) (sql)
Output:
'thIS IS a test'
Code language: SQL (Structured Query Language) (sql)
We often use the
function to modify the data in tables.REPLACE()
Let’s create a new table named articles
for the demonstration.
First, create the articles
table with the following structure:
CREATE TABLE articles (
article_id NUMBER GENERATED BY DEFAULT AS IDENTITY,
title VARCHAR2 (255),
article_body VARCHAR2 (4000),
PRIMARY KEY (article_id)
);
Code language: SQL (Structured Query Language) (sql)
Next, insert sample data into the articles
table:
INSERT INTO
articles (title, article_body)
VALUES
(
'Sample article',
'This is a <strong>sample</strong> article'
);
INSERT INTO
articles (title, article_body)
VALUES
(
'Another article',
'Another excellent <strong>sample</strong> article'
);
Code language: SQL (Structured Query Language) (sql)
Then, query data from the articles
table:
SELECT
article_id,
title,
article_body
FROM
articles;
Code language: SQL (Structured Query Language) (sql)

After that, suppose you want to replace all <strong>
tags with <b>
tags in the article_body
column. Here are the queries to do so:
UPDATE articles
SET
article_body = REPLACE (article_body, '<strong>', '<b>');
UPDATE articles
SET
article_body = REPLACE (article_body, '</strong>', '</b>');
Code language: SQL (Structured Query Language) (sql)
These queries used the REPLACE()
function to replace <strong>
with <b>
and </strong>
with </b>
.
Finally, query data from the articles
table to verify the replacements:
SELECT
article_id,
title,
article_body
FROM
articles;
Code language: SQL (Structured Query Language) (sql)

The output shows that the statement replaced the <strong>
tags with the b
tags.
Remarks #
Oracle provides you with the TRANSLATE()
function that has similar functionality to the REPLACE()
function.
However, the TRANSLATE()
function provides single-character, one-to-one substitution, while the REPLACE()
function allows you to substitute one string for another.
Summary #
- Use the Oracle
REPLACE()
function to replace all occurrences of a substring in a string with another.