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

MySQL 8.0-এ REGEXP_REPLACE() ব্যবহার করে সংখ্যা বাদ দিয়ে শুধু স্ট্রিং এবং '/' এক্সট্র্যাক্ট করুন

MySQL 8.0+ এ REGEXP_REPLACE() ফাংশন ব্যবহার করে স্ট্রিং থেকে রেগুলার এক্সপ্রেশন প্যাটার্ন ম্যাচ করে সেটি রিপ্লেস করা যায়। এখানে সংখ্যা এবং স্ল্যাশ-সংখ্যা কম্বিনেশন বাদ দিয়ে শুধু টেক্সট এবং '/' রেখে ফেলা হয়েছে।

উদাহরণ

১. টেবিল তৈরি করুন

mysql> CREATE TABLE DemoTable1595 (StudentCode VARCHAR(50));

২. সংখ্যা-মিশ্রিত ডেটা ইনসার্ট করুন

mysql> INSERT INTO DemoTable1595 VALUES('200 John');
mysql> INSERT INTO DemoTable1595 VALUES('101 Carol/400 Taylor');
mysql> INSERT INTO DemoTable1595 VALUES('101 302 405 Sam/9870');

৩. সব রেকর্ড দেখুন

mysql> SELECT * FROM DemoTable1595;

আউটপুট:

+----------------------+
| StudentCode          |
+----------------------+
| 200 John             |
| 101 Carol/400 Taylor |
| 101 302 405 Sam/9870 |
+----------------------+

৪. REGEXP_REPLACE দিয়ে সংখ্যা রিমুভ করুন

mysql> SELECT REGEXP_REPLACE(StudentCode, ' *[0-9]+([.,][0-9]+)?(/[0-9]+([.,][0-9]+)?)? *', '') 
    -> AS `GetOnlyStringand/` FROM DemoTable1595;

৫. ফলাফল

+-------------------+
| GetOnlyStringand/ |
+-------------------+
| John              |
| Carol/Taylor      |
| Sam/              |
+-------------------+

রেগেক্স ব্যাখ্যা: *[0-9]+([.,][0-9]+)?(/[0-9]+([.,][0-9]+)?)? *

  • * - অপশনাল স্পেস।
  • [0-9]+ - এক বা একাধিক ডিজিট (পূর্ণসংখ্যা)۔
  • ([.,][0-9]+)? - অপশনাল দশমিক অংশ (., এর পর ডিজিট)۔
  • (/[0-9]+([.,][0-9]+)?)? - অপশনাল স্ল্যাশ-সংখ্যা (যেমন /400, /9870)۔
  • * - শেষে অপশনাল স্পেস।

এই প্যাটার্ন '200 ', '101 ', '400 ', '302 ', '405 ', '9870' എന്നിവকে ম্যাচ করে খালি স্ট্রিং দিয়ে রিপ্লেস করেছে।

MySQL 8.0 পূর্বে: REGEXP_REPLACE নেই। ইউজার-ডিফাইনড ফাংশন বা অ্যাপ্লিকেশন লেভেলে প্রসেস করতে হয়।

  1. MySQL-এ স্ট্রিং ও নম্বর মিশ্র ডেটার জন্য ডেটা টাইপ নির্বাচন

  2. MySQL-এ REGEXP ব্যবহার করে শুধু স্ট্রিং বা স্ট্রিং-নম্বর মিশ্র রেকর্ড ফিল্টার করা

  3. MySQL-এ REGEXP ব্যবহার করে নির্দিষ্ট সংখ্যা দিয়ে শুরু হওয়া স্ট্রিং-নম্বর রেকর্ড ফেচ করা

  4. MySQL-এ AES_ENCRYPT ও AES_DECRYPT ব্যবহার করে স্ট্রিং এনক্রিপ্ট ও ডিক্রিপ্ট করা