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

MySQL-এ রেজেক্স (REGEXP) দিয়ে স্পেশাল ক্যারেক্টার খুঁজে বের করা


MySQL-এ REGEXP ব্যবহার করে স্পেশাল ক্যারেক্টার সনাক্তকরণ

স্ট্রিং কলামে অ্যালফানিউমেরিক (A-Z, a-z, 0-9) বাদে অন্য যেকোনো ক্যারেক্টার (স্পেশাল ক্যারেক্টার) আছে কিনা চেক করতে REGEXP ব্যবহার করা হয়।

সিনট্যাক্স

SELECT * FROM yourTableName 
WHERE yourColumnName REGEXP '[^a-zA-Z0-9]';

বিকল্প সিনট্যাক্স (POSIX ক্যারেক্টার ক্লাস):

SELECT * FROM yourTableName 
WHERE yourColumnName REGEXP '[^[:alnum:]]';

উদাহরণ সহ ব্যাখ্যা

টেবিল তৈরি:

mysql> CREATE TABLE specialCharactersDemo (
    -> StudentId VARCHAR(100)
    -> );

ডেটা ইনসার্ট:

mysql> INSERT INTO specialCharactersDemo VALUES('STU_1234');
mysql> INSERT INTO specialCharactersDemo VALUES('STU567');
mysql> INSERT INTO specialCharactersDemo VALUES('STU#1234');
mysql> INSERT INTO specialCharactersDemo VALUES('STU897$');
mysql> INSERT INTO specialCharactersDemo VALUES('STU999');
mysql> INSERT INTO specialCharactersDemo VALUES('STU1010');

সব ডেটা:

mysql> SELECT * FROM specialCharactersDemo;
+-----------+
| StudentId |
+-----------+
| STU_1234  |
| STU567    |
| STU#1234  |
| STU897$   |
| STU999    |
| STU1010   |
+-----------+

স্পেশাল ক্যারেক্টার সহ রো খুঁজে বের করি:

mysql> SELECT * FROM specialCharactersDemo 
    -> WHERE StudentId REGEXP '[^a-zA-Z0-9]';

ফলাফল:

+-----------+
| StudentId |
+-----------+
| STU_1234  |
| STU#1234  |
| STU897$   |
+-----------+

ব্যাখ্যা: [^a-zA-Z0-9] মানে অ্যালফানিউমেরিক বাদে যেকোনো ক্যারেক্টার। আন্ডারস্কোর (_), হ্যাশ (#), ডলার ($) ইত্যাদি স্পেশাল ক্যারেক্টার হিসেবে ধরা হয়েছে।

  1. সুইফটে স্ট্রিং-এ স্পেশাল ক্যারেক্টার আছে কিনা চেক করার পদ্ধতি

  2. MySQL-এ ১৪ দিনের চেয়ে সাম্প্রতিক তারিখ বের করা

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

  4. MySQL-এ CHAR_LENGTH() ব্যবহার করে নির্দিষ্ট ক্যারেক্টার সংখ্যার চেয়ে কম 가진 রেকর্ড বের করা