- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
How to replace only the first repeated value in a string in MySQL
For this, you can use REGEXP_REPLACE(). Let’s say our string is −
This is my first MySQL query. This is the first tutorial. I am learning for the first time.
We need to replace only the 1st occurrence of a specific word, let’s say “first”. The output should be −
This is my second MySQL query. This is the first tutorial. I am learning for the first time.
Let us create a table −
mysql> create table demo26 −> ( −> value text −> ); Query OK, 0 rows affected (2.04 sec)
Insert some records into the table with the help of insert command −
mysql> insert into demo26 values('This is my first MySQL query. This is the first tutorial. I am learning for the first time.'); Query OK, 1 row affected (0.10 sec)
Display records from the table using select statement −
mysql> select *from demo26;
This will produce the following output −
+---------------------------------------------------------------------------------------------+ | value | +---------------------------------------------------------------------------------------------+ | This is my first MySQL query. This is the first tutorial. I am learning for the first time. | +---------------------------------------------------------------------------------------------+ 1 row in set (0.00 sec)
Following is the query to replace only 1st occurrence −
mysql> update demo26 −> set value = REGEXP_REPLACE(value, 'first', 'second', 1, 1 ) ; Query OK, 1 row affected (0.19 sec) Rows matched: 1 Changed: 1 Warnings: 0
Display records from the table using select statement −
mysql> select *from demo26;
This will produce the following output −
+----------------------------------------------------------------------------------------------+ | value | +----------------------------------------------------------------------------------------------+ | This is my second MySQL query. This is the first tutorial. I am learning for the first time. | +----------------------------------------------------------------------------------------------+ 1 row in set (0.00 sec)
Advertisements