MySQL-এ RIGHT() ফাংশন ব্যবহার করে স্ট্রিং/সংখ্যার ডানপাশ থেকে নির্দিষ্ট সংখ্যক ক্যারেক্টার বের করে শেষ অঙ্ক দিয়ে ফিল্টার করা যায়।
সিনট্যাক্স
RIGHT(string, length)
string- সোর্স স্ট্রিংlength- ডানপাশ থেকে কতগুলো ক্যারেক্টার নেওয়া হবে
উদাহরণ: টেবিল তৈরি এবং ডেটা ইনসার্ট
mysql> create table DemoTable823(Value varchar(100)); Query OK, 0 rows affected (0.54 sec)
mysql> insert into DemoTable823 values('9847826');
Query OK, 1 row affected (0.52 sec)
mysql> insert into DemoTable823 values('84747464');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable823 values('9899889883');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable823 values('123456');
Query OK, 1 row affected (0.10 sec)
সকল রেকর্ড দেখানো
mysql> select * from DemoTable823;
+------------+ | Value | +------------+ | 9847826 | | 84747464 | | 9899889883 | | 123456 | +------------+ 4 rows in set (0.00 sec)
শেষ অঙ্ক ৬ হওয়া রেকর্ড বের করা
mysql> select * from DemoTable823 where right(Value,1)='6';
+---------+ | Value | +---------+ | 9847826 | | 123456 | +---------+ 2 rows in set (0.00 sec)
ব্যাখ্যা
RIGHT(Value, 1)- প্রতিটি Value-এর শেষ ১টি ক্যারেক্টার নেয়='6'- সেটি '6' কিনা যাচাই করে- সংখ্যা কলাম হলে MySQL স্বয়ংক্রিয়ভাবে স্ট্রিং-এ কনভার্ট করে
অন্যান্য RIGHT() উদাহরণ
| কোয়েরি | ফলাফল |
|---|---|
RIGHT('12345', 2) | '45' |
RIGHT('hello', 3) | 'llo' |
RIGHT(phone, 4) | ফোন নম্বরের শেষ ৪ ডিজিট |
RIGHT(date_col, 2) | তারিখের দিন (DD) |
সম্বন্ধীয় ফাংশন
LEFT(str, len)- বামপাশ থেকে ক্যারেক্টারSUBSTRING(str, pos, len)- যেকোনো অবস্থান থেকেSUBSTR(str, -len)- ডানপাশ থেকে (নেগেটিভ পজিশন)
পারফরম্যান্স নোট: ফাংশন-ভিত্তিক WHERE ক্লজে ইনডেক্স ব্যবহার হয় না। বড় টেবিলে computed column বা জেনারেটেড কলাম ব্যবহার করুন।