নির্দিষ্ট প্যাটার্ন খুঁজে বের করতে রেগুলার এক্সপ্রেশন (REGEXP) ব্যবহার করুন। প্রথমে একটি টেবিল তৈরি করি:
mysql> CREATE TABLE DemoTable (
UserId VARCHAR(100)
);
রেকর্ড যোগ করি:
mysql> INSERT INTO DemoTable VALUES('User-123-G');
mysql> INSERT INTO DemoTable VALUES('Us-453-GO');
mysql> INSERT INTO DemoTable VALUES('TRUE-908-K');
সকল রেকর্ড দেখতে:
mysql> SELECT * FROM DemoTable;
আউটপুট:
+------------+ | UserId | +------------+ | User-123-G | | Us-453-GO | | TRUE-908-K | +------------+
নির্দিষ্ট প্যাটার্ন (৪ অ্যালফানিউমেরিক - ৩ অ্যালফানিউমেরিক - ১ অ্যালফানিউমেরিক) অনুযায়ী খোঁজার কোয়েরি:
mysql> SELECT * FROM DemoTable
WHERE UserId REGEXP '^[[:alnum:]]{4}-[[:alnum:]]{3}-[[:alnum:]]{1}$';
আউটপুট:
+------------+ | UserId | +------------+ | User-123-G | | TRUE-908-K | +------------+
ব্যাখ্যা:
^: স্ট্রিংয়ের শুরু[[:alnum:]]: অক্ষর বা সংখ্যা (a-z, A-Z, 0-9){4}: ঠিক ৪ বার-: হাইফেন (লিটারেল){3}: ঠিক ৩ বার{1}$: ঠিক ১ বার এবং স্ট্রিংয়ের শেষ
Us-453-GO মিলেনি কারণ প্রথম অংশে ৩টি ক্যারেক্টার আছে (Us-), ৪টি নয়।