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

MySQL-এ REGEXP দিয়ে স্পেশাল ক্যারেক্টার সম্বলিত কলাম মান বের করা

MySQL-এ REGEXP ব্যবহার করে স্ট্রিং কলাম থেকে স্পেশাল ক্যারেক্টার (অ-আলফানিউমেরিক) সম্বলিত রেকর্ড ফিল্টার করা যায়।

উদাহরণ

mysql> CREATE TABLE DemoTable (SubjectCode VARCHAR(100));
Query OK, 0 rows affected (0.89 sec)

mysql> INSERT INTO DemoTable VALUES
('Java899@22'), ('C#'), ('~Python232'), ('MongoDB%'), ('C123456');
Query OK, 5 rows affected

সব রেকর্ড

mysql> SELECT * FROM DemoTable;
+-------------+
| SubjectCode |
+-------------+
| Java899@22  |
| C#          |
| ~Python232  |
| MongoDB%    |
| C123456     |
+-------------+

স্পেশাল ক্যারেক্টারসহ রেকর্ড (অ-আলফানিউমেরিক)

mysql> SELECT * FROM DemoTable WHERE SubjectCode REGEXP '[^a-zA-Z0-9&]';
+-------------+
| SubjectCode |
+-------------+
| Java899@22  |
| C#          |
| ~Python232  |
| MongoDB%    |
+-------------+

রেগেক্স ব্যাখ্যা

  • [^a-zA-Z0-9&] → নেগেটেড ক্যারেক্টার ক্লাস:
    • ^ → নেগেশন (এগুলো বাদে)
    • a-z → ছোট হাতের অক্ষর
    • A-Z → বড় হাতের অক্ষর
    • 0-9 → সংখ্যা
    • & → অ্যাম্পারস্যান্ড (এসকেপ বা রיעה সম্মিলিত)
  • অর্থাৎ: যেকোনো ক্যারেক্টার যা অক্ষর/সংখ্যা/& নয়

সাধারণ স্পেশাল ক্যারেক্টার ক্লাস

প্যাটার্নম্যাচ করে
[^a-zA-Z0-9]যেকোনো নন-আলফানিউমেরিক
[[:punct:]]পাঙ্কচুয়েশন ক্যারেক্টার (POSIX)
[^[:alnum:]]নন-আলফানিউমেরিক (POSIX)
  1. MySQL-এ কলাম মানয়ের সাথে স্পেশাল ক্যারেক্টার যুক্ত করা

  2. MySQL-এ কলাম মান শাফল করা

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

  4. MySQL-এ নির্দিষ্ট কলাম থেকে শুধু 'NO' মান সংখ্যা বের করা