শুধু প্রথম встреча যাওয়া অক্ষরটি রিপ্লেস করতে CONCAT(), REPLACE() এবং INSTR() ফাংশন কম্বাইন করতে হয়।
সিনট্যাক্স
UPDATE yourTableName
SET yourColumnName = CONCAT(
REPLACE(LEFT(yourColumnName, INSTR(yourColumnName, 'k')), 'k', 'i'),
SUBSTRING(yourColumnName, INSTR(yourColumnName, 'k') + 1)
);
উদাহরণ দিয়ে বুঝি
টেবিল তৈরি করুন:
mysql> CREATE TABLE UserInformation (
-> UserId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> UserName VARCHAR(10),
-> UserPost TEXT
-> );
Query OK, 0 rows affected (2.05 sec)
রেকর্ড ইনসার্ট করুন (সব রোয়ে 'Thks' শব্দে 'k' আছে):
mysql> INSERT INTO UserInformation(UserName, UserPost) VALUES('Larry', 'Thks is a MySQL query');
mysql> INSERT INTO UserInformation(UserName, UserPost) VALUES('Mike', 'Thks is not a java program');
mysql> INSERT INTO UserInformation(UserName, UserPost) VALUES('Sam', 'Thks is a SQL syntax');
আপডেট করার আগে:
mysql> SELECT * FROM UserInformation;
+--------+----------+----------------------------+
| UserId | UserName | UserPost |
+--------+----------+----------------------------+
| 1 | Larry | Thks is a MySQL query |
| 2 | Mike | Thks is not a java program |
| 3 | Sam | Thks is a SQL syntax |
+--------+----------+----------------------------+
3 rows in set (0.00 sec)
শুধু প্রথম 'k' কে 'i' দিয়ে রিপ্লেস করুন
mysql> UPDATE UserInformation
-> SET UserPost = CONCAT(
-> REPLACE(LEFT(UserPost, INSTR(UserPost, 'k')), 'k', 'i'),
-> SUBSTRING(UserPost, INSTR(UserPost, 'k') + 1)
-> );
Query OK, 3 rows affected (0.16 sec)
আপডেটের পর:
mysql> SELECT * FROM UserInformation;
+--------+----------+----------------------------+
| UserId | UserName | UserPost |
+--------+----------+----------------------------+
| 1 | Larry | This is a MySQL query |
| 2 | Mike | This is not a java program |
| 3 | Sam | This is a SQL syntax |
+--------+----------+----------------------------+
3 rows in set (0.00 sec)
ব্যাখ্যা: প্রতিটি রোয়ে শুধু প্রথম 'k' অক্ষরটি 'i' দিয়ে রিপ্লেস হয়েছে, বাকি 'k' গুলো অপরিবর্তিত রয়েছে।