MySQL-এ REGEXP ব্যবহার করে নির্দিষ্ট প্যাটার্ন (যেমন: XXX-XXX-XXXX) মিলিয়ে রেকর্ড ফিল্টার করা যায়।
উদাহরণ
mysql> CREATE TABLE DemoTable (Code VARCHAR(100));
Query OK, 0 rows affected (1.16 sec)
mysql> INSERT INTO DemoTable VALUES
('100-677-9876'), ('100-677-9876-John'), ('David-100-677-9876');
Query OK, 3 rows affected
সব রেকর্ড
mysql> SELECT * FROM DemoTable;
+--------------------+ | Code | +--------------------+ | 100-677-9876 | | 100-677-9876-John | | David-100-677-9876 | +--------------------+
শুধু XXX-XXX-XXXX প্যাটার্ন
mysql> SELECT * FROM DemoTable
WHERE Code REGEXP '^\\(?[0-9]{3}\\)?[\\s-]?[0-9]{3}[\\s-]?[0-9]{4}$';
+--------------+ | Code | +--------------+ | 100-677-9876 | +--------------+
রেগেক্স ব্যাখ্যা
^→ স্ট্রিং শুরু\\(?[0-9]{3}\\)?→ অপশনাল প্যারেনথেসিসহ ৩ ডিজিট[\\s-]?→ অপশনাল স্পেস বা হাইফেন[0-9]{3}→ ৩ ডিজিট[\\s-]?→ অপশনাল স্পেস বা হাইফেন[0-9]{4}$→ ৪ ডিজিট এবং স্ট্রিং শেষ
MySQL 8.0+ এ REGEXP_LIKE() ফাংশনও আছে।