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

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

MySQL-এ REGEXP অপারেটর ব্যবহার করে শুধু অক্ষর বা অক্ষর-সংখ্যা মিশ্র রেকর্ডগুলো ফিল্টার করা যায়, শুধু সংখ্যা রেকর্ডগুলো বাদ দিয়ে।

সিনট্যাক্স

SELECT yourColumnName FROM yourTableName WHERE yourColumnName REGEXP '[a-zA-Z]';

উদাহরণ

টেবিল তৈরি:

CREATE TABLE demo41 (
    name VARCHAR(40)
);

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

INSERT INTO demo41 VALUES ('John Smith34');
INSERT INTO demo41 VALUES ('John Smith');
INSERT INTO demo41 VALUES ('9234John Smith');
INSERT INTO demo41 VALUES ('john smith');
INSERT INTO demo41 VALUES ('98775');

টেবিলের ডেটা:

+----------------+
| name           |
+----------------+
| John Smith34   |
| John Smith     |
| 9234John Smith |
| john smith     |
| 98775          |
+----------------+

কোয়েরি

SELECT name FROM demo41 WHERE name REGEXP '[a-zA-Z]';

আউটপুট

+----------------+
| name           |
+----------------+
| John Smith34   |
| John Smith     |
| 9234John Smith |
| john smith     |
+----------------+

ব্যাখ্যা: রেজেক্স [a-zA-Z] মানে英 sensitive ভাবে ছোট বা বড় হাতের কমপক্ষে একটি ইংরেজি অক্ষর থাকতে হবে। শুধু সংখ্যা থাকা রেকর্ড (98775) ফিল্টার আউট হয়েছে। বাঙালি বা অন্যান্য ভাষার অক্ষরের জন্য Unicode রেজেক্স [\\p{L}] ব্যবহার করতে হয় (MySQL 8.0+), অথবা নির্দিষ্ট ক্যারেক্টার রেঞ্জ দিতে হয়।

  1. MySQL ROUND() 함수로 숫자 반올림하기

  2. MySQL에서 IS NOT NULL로 NULL 제외하고 NOT NULL 값만 다른 테이블로 복사하기

  3. MySQL-এ IN ক্লজ এবং ORDER BY FIELD ব্যবহার করে নির্দিষ্ট ক্রমে ডেটা বের করা

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