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

MySQL-এ REPLACE() ফাংশন ব্যবহার করে স্পেশাল ক্যারেক্টারসহ স্ট্রিং সিলেক্ট করা


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()) বা নরমালাইজড ডেটা (স্পেশাল ক্যারেক্টার আলাদা কলামে) ভালো।

  1. MySQL-এ স্ট্রিংয়ের ভিতরে নির্দিষ্ট অক্ষর খুঁজে বের করা

  2. MySQL-এ REGEXP ব্যবহার করে রেগুলার এক্সপ্রেশন ভিত্তিক সিলেক্ট কোয়েরি করুন

  3. MySQL-এ SELECT কুয়েরি দিয়ে INSERT করা (INSERT ... SELECT)

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