ডেটাবেস ফিল্ড থেকে স্পেশাল ক্যারেক্টার মুছে ফেলতে REPLACE() ফাংশন ব্যবহার করা যায়। স্পেশাল ক্যারেক্টারগুলো হলো ডাবল কোট (""), নাম্বার সাইন (#), ডলার সাইন ($), পারসেন্ট (%) ইত্যাদি।
ডেটাবেস ফিল্ড থেকে স্পেশাল ক্যারেক্টার মুছে ফেলার সিনট্যাক্স নিচে দেওয়া হলো:
UPDATE yourTableName SET yourColumnName=REPLACE(yourColumnName,'yourSpecialCharacters','');
এটি বুঝতে একটি টেবিল তৈরি করা যাক। টেবিল তৈরির কোয়েরি:
mysql> create table RemoveSpecialCharacterDemo
-> (
-> Id int NOT NULL AUTO_INCREMENT,
-> Name varchar(20),
-> PRIMARY Key(Id)
-> ); Query OK, 0 rows affected (0.59 sec)
ইনসার্ট কমান্ড দিয়ে কিছু রেকর্ড ইনসার্ট করা যাক। কোয়েরিটি হলো:
mysql> insert into RemoveSpecialCharacterDemo(Name) values('$John'); Query OK, 1 row affected (0.29 sec) mysql> insert into RemoveSpecialCharacterDemo(Name) values('$Carol'); Query OK, 1 row affected (0.16 sec) mysql> insert into RemoveSpecialCharacterDemo(Name) values('$Mike'); Query OK, 1 row affected (0.17 sec) mysql> insert into RemoveSpecialCharacterDemo(Name) values('$Sam'); Query OK, 1 row affected (0.14 sec) mysql> insert into RemoveSpecialCharacterDemo(Name) values('$Dav$id$'); Query OK, 1 row affected (0.17 sec) mysql> insert into RemoveSpecialCharacterDemo(Name) values('Robert$'); Query OK, 1 row affected (0.30 sec) mysql> insert into RemoveSpecialCharacterDemo(Name) values('J$ames$'); Query OK, 1 row affected (0.13 sec) mysql> insert into RemoveSpecialCharacterDemo(Name) values('Max$well$'); Query OK, 1 row affected (0.27 sec)
সিলেক্ট স্টেটমেন্ট দিয়ে সব রেকর্ড দেখানো যাক। কোয়েরিটি হলো:
mysql> select *from RemoveSpecialCharacterDemo;
আউটপুট নিচে দেওয়া হলো:
+----+-----------+ | Id | Name | +----+-----------+ | 1 | $John | | 2 | $Carol | | 3 | $Mike | | 4 | $Sam | | 5 | $Dav$id$ | | 6 | Robert$ | | 7 | J$ames$ | | 8 | Max$well$ | +----+-----------+ 8 rows in set (0.00 sec)
REPLACE() ফাংশন ব্যবহার করে ডেটাবেস ফিল্ড থেকে স্পেশাল ক্যারেক্টার মুছে ফেলার কোয়েরি নিচে দেওয়া হলো:
mysql> update RemoveSpecialCharacterDemo
-> set Name=replace(Name,'$',''); Query OK, 8 rows affected (0.22 sec) Rows matched: 8 Changed: 8 Warnings: 0
আবার টেবিলের রেকর্ড চেক করা যাক। সব রেকর্ড দেখানোর কোয়েরি:
mysql> select *from RemoveSpecialCharacterDemo;
আউটপুট নিচে দেওয়া হলো:
+----+---------+ | Id | Name | +----+---------+ | 1 | John | | 2 | Carol | | 3 | Mike | | 4 | Sam | | 5 | David | | 6 | Robert | | 7 | James | | 8 | Maxwell | +----+---------+ 8 rows in set (0.00 sec)
স্যাম্পল আউটপুটে দেখা যাচ্ছে, $ স্পেশাল ক্যারেক্টারটি টেবিল থেকে সম্পূর্ণ মুছে ফেলা হয়েছে। একাধিক স্পেশাল ক্যারেক্টার মুছে ফেলতে REPLACE() নেস্টেড ব্যবহার করতে হয় (যেমন REPLACE(REPLACE(Name, '$', ''), '#', ''))। বড় স্কেলে রেগুলার এক্সপ্রেশন (REGEXP_REPLACE MySQL 8.0+) ব্যবহার করা আরও কার্যকর।