MySQL-এ REPLACE() ফাংশন ব্যবহার করে স্ট্রিং ক্লিনিংয়ের পর LIKE সার্চ
MySQL-এ REPLACE(str, from_str, to_str) ফাংশন ব্যবহার করে স্ট্রিংয়ের ভিতর থেকে নির্দিষ্ট ক্যারেক্টার সরিয়ে বা পরিবর্তন করে LIKE সার্চ করা যায়। এটি স্পেশাল ক্যারেক্টার (যেমন এপস্ট্রফি) যুক্ত স্ট্রিং খোঁজার জন্য উপকারী।
উদাহরণ
টেবিল তৈরি:
CREATE TABLE DemoTable (Title TEXT);
INSERT INTO DemoTable VALUES ('MySQL'), ('MongoDB\'s'), ('MySQL\'s'), ('Java\'s');
'MySQL's' খোঁজা (এপস্ট্রফি উপেক্ষা করে)
SELECT * FROM DemoTable
WHERE REPLACE(Title, '''', '') LIKE '%MySQLs%';
আউটপুট:
+---------+
| Title |
+---------+
| MySQL's |
+---------+
ব্যাখ্যা
REPLACE(Title, '''', '')—Titleকলাম থেকে সব এপস্ট্রফি (') সরিয়ে দেয়।- তারপর
LIKE '%MySQLs%'দিয়ে 'MySQLs' সাবস্ট্রিং খোঁজা হয়। - সিঙ্গেল কোটেশন এসকেপ:
''''(স্ট্রিং লিটারেলে'লিখতে''লিখতে হয়)।
বিকল্প: এসকেপ ক্যারেক্টার ব্যবহার
SELECT * FROM DemoTable WHERE Title = 'MySQL\'s';
-- অথবা
SELECT * FROM DemoTable WHERE Title LIKE 'MySQL\\'s';
সুপারিশ: সার্চের জন্য ফুলটেক্সট ইন্ডেক্স (MATCH() AGAINST()) বা নরমালাইজড ডেটা (স্পেশাল ক্যারেক্টার আলাদা কলামে) ভালো।