MySQL-এ শুধুমাত্র একটি ক্যারেক্টার ম্যাচ করতে % চিহ্নের পরিবর্তে আন্ডারস্কোর (_) ব্যবহার করতে হয়। সিনট্যাক্স নিচে দেওয়া হলো:
SELECT *FROM yourTableName WHERE yourColumnName LIKE 'yourString_';
এটি বুঝতে একটি টেবিল তৈরি করা যাক। টেবিল তৈরির কোয়েরি:
mysql> create table OneCharactermatchDemo
-> (
-> Id int NOT NULL AUTO_INCREMENT,
-> PassoutYear year,
-> PRIMARY KEY(Id)
-> ); Query OK, 0 rows affected (0.76 sec)
ইনসার্ট কমান্ড দিয়ে কিছু রেকর্ড ইনসার্ট করা যাক। কোয়েরিটি হলো:
mysql> insert into OneCharactermatchDemo(PassoutYear) values('2008'); Query OK, 1 row affected (0.14 sec) mysql> insert into OneCharactermatchDemo(PassoutYear) values('2007'); Query OK, 1 row affected (0.18 sec) mysql> insert into OneCharactermatchDemo(PassoutYear) values('2010'); Query OK, 1 row affected (0.10 sec) mysql> insert into OneCharactermatchDemo(PassoutYear) values('2011'); Query OK, 1 row affected (0.13 sec) mysql> insert into OneCharactermatchDemo(PassoutYear) values('2012'); Query OK, 1 row affected (0.12 sec) mysql> insert into OneCharactermatchDemo(PassoutYear) values('2006'); Query OK, 1 row affected (0.10 sec) mysql> insert into OneCharactermatchDemo(PassoutYear) values('2019'); Query OK, 1 row affected (0.14 sec) mysql> insert into OneCharactermatchDemo(PassoutYear) values('2016'); Query OK, 1 row affected (0.13 sec) mysql> insert into OneCharactermatchDemo(PassoutYear) values('2017'); Query OK, 1 row affected (0.34 sec) mysql> insert into OneCharactermatchDemo(PassoutYear) values('2015'); Query OK, 1 row affected (0.17 sec) mysql> insert into OneCharactermatchDemo(PassoutYear) values('2020'); Query OK, 1 row affected (0.13 sec)
সিলেক্ট স্টেটমেন্ট দিয়ে সব রেকর্ড দেখানো যাক। কোয়েরিটি হলো:
mysql> select *from OneCharactermatchDemo;
আউটপুট নিচে দেওয়া হলো:
+----+-------------+ | Id | PassoutYear | +----+-------------+ | 1 | 2008 | | 2 | 2007 | | 3 | 2010 | | 4 | 2011 | | 5 | 2012 | | 6 | 2006 | | 7 | 2019 | | 8 | 2016 | | 9 | 2017 | | 10 | 2015 | | 11 | 2020 | +----+-------------+ 11 rows in set (0.00 sec)
শুধুমাত্র একটি ক্যারেক্টার ম্যাচ করতে আন্ডারস্কোর (_) ব্যবহার করার কোয়েরি নিচে দেওয়া হলো:
mysql> select *from OneCharactermatchDemo where PassoutYear Like '200_';
আউটপুট নিচে দেওয়া হলো:
+----+-------------+ | Id | PassoutYear | +----+-------------+ | 1 | 2008 | | 2 | 2007 | | 6 | 2006 | +----+-------------+ 3 rows in set (0.00 sec)
ব্যাখ্যা: LIKE '200_' প্যাটার্নটি 200 দিয়ে শুরু হয়ে যেকোনো একটি ক্যারেক্টার로 শেষ হওয়া ভ্যালুগুলো ম্যাচ করে। এখানে 2008, 2007, 2006 ম্যাচ করেছে। % যেকোনো সংখ্যক ক্যারেক্টার ম্যাচ করে, কিন্তু _ শুধুমাত্র একটি ক্যারেক্টার ম্যাচ করে। এটি ফিক্সড-লেন্থ প্যাটার্ন ম্যাচিং-এ খুব কার্যকর।