MySQL-এ REGEXP ব্যবহার করে স্ট্রিং-নম্বর মিশ্র কলাম থেকে নির্দিষ্ট সংখ্যা দিয়ে শুরু হওয়া রেকর্ডগুলো ফিল্টার করা যায়।
সিনট্যাক্স
SELECT col1, col2 FROM yourTableName WHERE col2 REGEXP '^prefix[digits]';
উদাহরণ
টেবিল তৈরি:
CREATE TABLE demo45 (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
value VARCHAR(50)
);
ডেটা ইনসার্ট (স্ট্রিং + নম্বর):
INSERT INTO demo45(value) VALUES ('John500'), ('John1500'), ('John5500'), ('John6500'), ('John8600');
টেবিলের ডেটা:
+----+----------+ | id | value | +----+----------+ | 1 | John500 | | 2 | John1500 | | 3 | John5500 | | 4 | John6500 | | 5 | John8600 | +----+----------+
কোয়েরি
'John' এর পর ৫ বা ৬ দিয়ে শুরু হওয়া রেকর্ড:
SELECT id, value FROM demo45 WHERE value REGEXP '^John[56]';
আউটপুট
+----+----------+ | id | value | +----+----------+ | 1 | John500 | | 3 | John5500 | | 4 | John6500 | +----+----------+
ব্যাখ্যা: রেজেক্স ^John[56] এর অর্থ:
^- স্ট্রিংয়ের শুরুJohn- শব্দ 'John'[56]- ৫ বা ৬ যেকোনো একটি
তাই John500, John5500, John6500 মেলেছে। John1500 (১ দিয়ে শুরু) এবং John8600 (৮ দিয়ে শুরু) বাদ পড়েছে।