MySQL-এ REPLACE() ফাংশন ব্যবহার করে ফোল্ডার পাথ থেকে ব্যাকস্ল্যাশ (\) মুছে অন্য ক্যারেক্টার দিয়ে রিপ্লেস করা যায়।
উদাহরণ: টেবিল তৈরি এবং ডেটা ইনসার্ট
mysql> create table DemoTable827(Path text); Query OK, 0 rows affected (0.69 sec)
mysql> insert into DemoTable827 values('C\\MySQL');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable827 values('D\\NewFolder\\');
Query OK, 1 row affected (0.47 sec)
mysql> insert into DemoTable827 values('E:\\myFolder\\MyDocument');
Query OK, 1 row affected (0.11 sec)
সকল রেকর্ড দেখানো
mysql> select * from DemoTable827;
+------------------------+ | Path | +------------------------+ | C\MySQL | | D\NewFolder\ | | E:\myFolder\MyDocument | +------------------------+ 3 rows in set (0.00 sec)
ব্যাকস্ল্যাশ (\) কে '----' দিয়ে রিপ্লেস করা
mysql> update DemoTable827 set Path=REPLACE(Path, '\\', '----'); Query OK, 3 rows affected (0.18 sec) Rows matched: 3 Changed: 3 Warnings: 0
আপডেট後の রেকর্ড দেখানো
mysql> select * from DemoTable827;
+------------------------------+ | Path | +------------------------------+ | C----MySQL | | D----NewFolder---- | | E:----myFolder----MyDocument | +------------------------------+ 3 rows in set (0.00 sec)
ব্যাখ্যা
'\\'- SQL স্ট্রিং-এ ব্যাকস্ল্যাশ এস্কেপ করতে ডবল ব্যাকস্ল্যাশ লাগেREPLACE(Path, '\\', '----')- প্রতিটি \ কে '----' দিয়ে রিপ্লেস করে- উইন্ডোজ পাথ সেপারেটর \ কে অন্য ক্যারেক্টরে রিপ্লেস করা হয়েছে
ক্রস-প্ল্যাটফর্ম পাথ নরমালাইজেশন
-- সব \ কে / কে রিপ্লেস (ইউনিক্স স্টাইল) UPDATE DemoTable827 SET Path = REPLACE(Path, '\\', '/'); -- ডাবল স্ল্যাশ সরিয়ে সিংগেল করা UPDATE DemoTable827 SET Path = REPLACE(Path, '//', '/');
SELECT-এ দেখানোর জন্য (ডেটা বদলায় না)
SELECT REPLACE(Path, '\\', '/') as UnixPath FROM DemoTable827;
সতর্কতা
- MySQL স্ট্রিং লিটারেলে
'\\'= একটা ব্যাকস্ল্যাশ - রিয়াল ডেটাতে একটা \ থাকলে
REPLACE(col, '\\', '/')লিখতে হয় - প্রোগ্রামিং ল্যাঙ্গুয়েজে (PHP, Python) প্যারামিটারাইজড কোয়েরি ব্যবহার করলে এস্কেপিং অটোমেটিক হয়
টিপ: ফাইল পাথ সংরক্ষণের সময় সবসময় ফরোয়ার্ড স্ল্যাশ (/) ব্যবহার করুন — সব OS-এ কাজ করে।