MySQL-এ REPLACE() ফাংশন ব্যবহার করে কলামের মান থেকে শুধু নির্দিষ্ট ক্যারেক্টার (যেমন % চিহ্ন) মুছে ফেলা যায়।
উদাহরণ: টেবিল তৈরি এবং ডেটা ইনসার্ট
mysql> create table DemoTable828(
CustomerName varchar(100),
InterestRate varchar(100)
);
Query OK, 0 rows affected (0.50 sec)
mysql> insert into DemoTable828 values('Chris','10%');
Query OK, 1 row affected (0.60 sec)
mysql> insert into DemoTable828 values('Robert','11.5%');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable828 values('David','15.90%');
Query OK, 1 row affected (0.22 sec)
mysql> insert into DemoTable828 values('Bob','20%');
Query OK, 1 row affected (0.16 sec)
সকল রেকর্ড দেখানো
mysql> select * from DemoTable828;
+--------------+--------------+ | CustomerName | InterestRate | +--------------+--------------+ | Chris | 10% | | Robert | 11.5% | | David | 15.90% | | Bob | 20% | +--------------+--------------+ 4 rows in set (0.00 sec)
শতাংশ চিহ্ন (%) মুছে ফেলা (UPDATE)
mysql> update DemoTable828 set InterestRate=replace(InterestRate,'%',''); Query OK, 4 rows affected (0.18 sec) Rows matched: 4 Changed: 4 Warnings: 0
আপডেট後の রেকর্ড দেখানো
mysql> select * from DemoTable828;
+--------------+--------------+ | CustomerName | InterestRate | +--------------+--------------+ | Chris | 10 | | Robert | 11.5 | | David | 15.90 | | Bob | 20 | +--------------+--------------+ 4 rows in set (0.00 sec)
ব্যাখ্যা
REPLACE(InterestRate, '%', '')- '%' খুঁজে খালি স্ট্রিং '' দিয়ে রিপ্লেস করেUPDATE- টেবিলের ডেটা স্থায়ীভাবে বদলায়Rows matched: 4 Changed: 4- ৪ রো মিলল, ৪ রো বদলায়
SELECT-এ দেখানোর জন্য (ডেটা বদলায় না)
SELECT CustomerName, REPLACE(InterestRate, '%', '') as CleanRate FROM DemoTable828;
একাধিক ক্যারেক্টার মুছে ফেলা (নেস্টেড REPLACE)
REPLACE(REPLACE(REPLACE(col, '%', ''), ',', ''), '$', '')
সতর্কতা
UPDATEغيرقابل বাতিল (Rollback করা যায় না অটো-কমিট মোডে)- প্রথমে
SELECTদিয়ে প্রিভিউ দেখুন - ব্যাকআপ নিন বড় আপডেটের আগে
- সংখ্যা কলামে কনভার্ট করলে
CAST(REPLACE(...) AS DECIMAL(10,2))ব্যবহার করুন
দ্রষ্টব্য: পারসেন্টেজ রেটের জন্য DECIMAL(5,2) টাইপ ব্যবহার করা ভালো (১৫.৯০%), স্ট্রিংয়ে % রাখা টেকনিক্যাল ডেটে সমস্যা সৃষ্টি করে।