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+), অথবা নির্দিষ্ট ক্যারেক্টার রেঞ্জ দিতে হয়।