এটি একটি MySQL স্ট্রিং ফাংশন যা সার্চিংয়ের জন্য ব্যবহৃত হয়। EXPORT_SET() ফাংশনের সিনট্যাক্স থেকে এর কাজ বোঝা যাবে:
সিনট্যাক্স
EXPORT_SET(bits, on, off, separator, number_of_bits)
সিনট্যাক্স ব্যাখ্যা:
- bits — প্রথম আর্গুমেন্ট হিসেবে দেওয়া ইন্টিজারকে বিটে রূপান্তরিত করে (০ এবং ১-তে) এবং প্রতিটি বিট চেক করা হয় ১ কিনা ০। চেক করার ক্রম ডান থেকে বাম।
- on — দ্বিতীয় আর্গুমেন্ট, কোটেশনে যেকোনো মান। যদি বিট ১ হয়, এটি ফেরত দেয়।
- off — তৃতীয় আর্গুমেন্ট, কোটেশনে যেকোনো মান। যদি বিট ০ হয়, এটি ফেরত দেয়।
- separator — আউটপুট দেখানোর সময় ফেরত দেওয়া মানের মাঝখানে বসানো সেপারেটর। কোটেশনে যেকোনো ক্যারেক্টার বা মান হতে পারে।
- number_of_bits — চেক করা বিটের সংখ্যা, পঞ্চম আর্গুমেন্টে নির্দিষ্ট।
EXPORT_SET() ফাংশনের কাজ করার পদ্ধতি
- প্রথমে ১ম আর্গুমেন্টের ইন্টিজার মান বিটে রূপান্তরিত হয় (০ এবং ১-তে)। তারপর প্রতিটি বিট চেক করা হয় ১ কিনা ০। চেক করার ক্রম ডান থেকে বাম।
- বিট চেক করার পর MySQL সিদ্ধান্ত নেয়: বিট ১ হলে ২য় আর্গুমেন্ট ('on') ফেরত দেয়, বিট ০ হলে ৩য় আর্গুমেন্ট ('off') ফেরত দেয়।
- চেক করা চলছে ৫ম আর্গুমেন্টে নির্দিষ্ট বিট সংখ্যা পর্যন্ত।
- উপরের ভিত্তিতে MySQL আউটপুট ফেরত দেয় এবং ফেরত দেওয়া মানের মাঝখানে সেপারেটর বসায়। মানগুলো বাম থেকে ডান দিকে ফেরত দেওয়া হয়।
উদাহরণ
mysql> SELECT EXPORT_SET(8, '1', '0', ',', 8); +-------------------------------+ | EXPORT_SET(8, '1', '0', ',', 8) | +-------------------------------+ | 0,0,0,1,0,0,0,0 | +-------------------------------+ 1 row in set (0.00 sec) mysql> SELECT EXPORT_SET(8, '1', '0', ',', 4); +-------------------------------+ | EXPORT_SET(8, '1', '0', ',', 4) | +-------------------------------+ | 0,0,0,1 | +-------------------------------+ 1 row in set (0.00 sec)
দুই উদাহরণেই ৮ প্রথম আর্গুমেন্ট, যা বিটে রূপান্তরিত হয় 1000। ডান থেকে বাম চেক: ০, ০, ০, ১। ১ম উদাহরণে ৮ বিট চেক করা হয়েছে (৫ম আর্গুমেন্ট ৮), ২য় উদাহরণে ৪ বিট (৫ম আর্গুমেন্ট ৪)। আউটপুট বাম থেকে ডান: 0,0,0,1,0,0,0,0 এবং 0,0,0,1।