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 এস্কেপ হয়, তাই কোয়েরিতে
'\\"'"লিখতে হয়। - যদি ডেটায় সিঙ্গেল কোট (') থাকে, তবে সেটাও আলাদা হ্যান্ডলিং লাগবে।