কম্পিউটার টিউটোরিয়াল

MySQL-এ REPLACE() দিয়ে VARCHAR কলাম থেকে ব্যাকস্ল্যাশ-কোট (\") সরানো


UPDATE + REPLACE() দিয়ে \" (ব্যাকস্ল্যাশ+কোট) কে শুধু কোট (") বানানো

MySQL-এ স্ট্রিং লিটারেলে ব্যাকস্ল্যাশ (\) এস্কেপ ক্যারেক্টার হিসেবে কাজ করে। টেবিলে \" (ব্যাকস্ল্যাশ+কোট) স্ট্রিং থাকলে REPLACE() দিয়ে সেটি শুধু " (কোট) দিয়ে রিপ্লেস করা যায়।

টেবিল ও ডেটা

mysql> CREATE TABLE DemoTable (Title VARCHAR(100));
mysql> INSERT INTO DemoTable VALUES('\\"MySQL'), ('MongoDB\\"'), ('\\"Java\\"'), ('\\"C"');

আসল ডেটা (দেখানো হচ্ছে এস্কেপড)

+-----------+
| Title     |
+-----------+
| \"MySQL   |
| MongoDB\" |
| \"Java\"  |
| \"C       |
+-----------+

REPLACE দিয়ে আপডেট

mysql> UPDATE DemoTable SET Title = REPLACE(Title, '\\"', '"');
Query OK, 4 rows affected (0.14 sec)

আপডেটের পর

+----------+
| Title    |
+----------+
| "MySQL   |
| MongoDB" |
| "Java"   |
| "C"      |
+----------+

ব্যাখ্যা

  • REPLACE(Title, '\\"', '\"') — SQL স্ট্রিং লিটারেলে \\" মানে আসলে \" (ব্যাকস্ল্যাশ+কোট)।
  • রিপ্লেসমেন্ট স্ট্রিং '\"' মানে শুধু " (কোট)।
  • সব \" কে " বদলে দেয়।

নোট

  • MySQL স্ট্রিং লিটারেলে বáculos এস্কেপ হয়, তাই কোয়েরিতে '\\"'" লিখতে হয়।
  • যদি ডেটায় সিঙ্গেল কোট (') থাকে, তবে সেটাও আলাদা হ্যান্ডলিং লাগবে।
  1. MySQL-এ SUBSTRING_INDEX() দিয়ে হাইফেন-বিভক্ত স্ট্রিং আলাদা কলামে বির্ভক্ত করা

  2. MySQL-এ স্ট্রিং কলাম থেকে নির্দিষ্ট প্যাটার্নের রেকর্ড বের করা (স্ট্রিং, সংখ্যা, স্পেশাল ক্যারেক্টার)

  3. MySQL-এ একক কোয়ারি দিয়ে একটি কলামে একাধিক মান কিভাবে ইনসার্ট করবেন?

  4. MySQL-এ SUBSTRING_INDEX ব্যবহার করে হাইফনের পরের সংখ্যা মুছে ফেলা