কম্পিউটার

কিভাবে EXPORT_SET() ফাংশন MySQL এ কাজ করে?


এটি অনুসন্ধানের জন্য ব্যবহৃত একটি MySQL স্ট্রিং ফাংশন। EXPORT_SET() ফাংশনের নিম্নলিখিত সিনট্যাক্সের সাহায্যে আমরা এর কাজ বুঝতে পারি -

সিনট্যাক্স

EXPORT_SET(বিট, চালু, বন্ধ, বিভাজক, বিটের সংখ্যা)

এখানে এই সিনট্যাক্সে,

বিট (পূর্ণসংখ্যাকে বিটে রূপান্তর করার পরে পাওয়া) 1 বা 0 হলে তুলনা করতে হবে।

'অন' হল ফাংশনের দ্বিতীয় আর্গুমেন্ট, উদ্ধৃতিতে যেকোনো মান থাকে এবং প্রথম আর্গুমেন্টে একটি বিটের মান 1 হলে তা ফেরত দেওয়া হবে।

'অফ' হল ফাংশনের তৃতীয় আর্গুমেন্ট, উদ্ধৃতিতে যেকোনো মান থাকে এবং প্রথম আর্গুমেন্টে যদি একটি বিটের মান 0 হয় তাহলে এটি ফেরত দেওয়া হবে।

আউটপুট প্রদর্শন করার সময় বিভাজকটি প্রত্যাবর্তিত মানগুলির মধ্যে স্থাপন করতে ব্যবহৃত হয়। এটি যেকোন অক্ষর বা উদ্ধৃতিতে রাখা মান হতে পারে।

কয়েকটি বিটের বিটের মান আছে যেগুলো 1 বা 0 হলে তুলনা করা হবে।

EXPORT_SET() ফাংশনের কাজ

এটি নিম্নরূপ কাজ করে −

  • প্রথমত, 1ম আর্গুমেন্ট হিসাবে দেওয়া পূর্ণসংখ্যার মানটি অনেকগুলি বিটে রূপান্তরিত হবে (যেমন 0 এবং 1 সেকেন্ডে)। তারপর প্রতিটি বিট 1 বা 0 কিনা তা পরীক্ষা করা হয়। চেক করার ক্রম ডান থেকে বামে।
  • এখন, মাইএসকিউএল সিদ্ধান্ত নেয়, চেক করার পরে, বিটটি 1 বা 0 হলে কি করতে হবে। যদি বিটটি 1 হয়, এটি দ্বিতীয় আর্গুমেন্ট যেমন 'অন' প্রদান করে। এবং যদি বিটটি 0 হয়, এটি তৃতীয় আর্গুমেন্ট প্রদান করে যেমন 'অফ'।
  • পঞ্চম আর্গুমেন্টে নির্দিষ্ট করা বিটের সংখ্যা পর্যন্ত চেকিং চলতে থাকে।
  • এখন, উপরের MySQL এর উপর ভিত্তি করে আউটপুট প্রদান করবে এবং প্রত্যাবর্তিত মানের মধ্যে বিভাজক স্থাপন করবে। মানগুলি বাম থেকে ডানে ফেরত দেওয়া হবে৷

উদাহরণ

mysql> EXPORT_SET(8, '1','0',',', 8) নির্বাচন করুন;+------------ -------+| EXPORT_SET(8, '1','0',',', 8) |+-------------------------------------------- -+| 0,0,0,1,0,0,0,0 |+--------------------------------------------+1 সেটে সারি (0.00 সেকেন্ড)mysql> নির্বাচন করুন EXPORT_SET(8, '1','0',',', 4);+--------- -----------+| EXPORT_SET(8, '1','0',',', 4) |+-------------------------------------------- -+| 0,0,0,1 |+------------------------------- সেটে 1 সারি (0.00 সেকেন্ড) 

উভয় উদাহরণেই, আমরা প্রথম আর্গুমেন্ট হিসাবে 8 দিয়েছি যা বিটগুলিতে রূপান্তরিত হবে, অর্থাৎ 1000, এবং তারপরে 1 থেকে 0 পর্যন্ত 8 বিট (1ম উদাহরণে) এবং তার উপরে পরীক্ষা করা হবে। 4 বিটে (দ্বিতীয় উদাহরণে) কারণ 8 এবং 4 যথাক্রমে 1ম এবং 2য় উদাহরণে পঞ্চম আর্গুমেন্ট হিসাবে নির্দিষ্ট করা হয়েছে। আউটপুট প্রদর্শন করার সময় আমরা লক্ষ্য করতে পারি যে কমা (,) একটি বিভাজক হিসাবে ব্যবহৃত হয় কারণ এটি উভয় উদাহরণেই চতুর্থ যুক্তি হিসাবে নির্দিষ্ট করা হয়েছে।

যেমন আমরা জানি যে চেক করার ক্রমটি ডান থেকে বামে, অর্থাৎ আমাদের উদাহরণ 1000-এ, ডানদিকের বিটটি 0 তাই তৃতীয় আর্গুমেন্ট অর্থাৎ 0 ফেরত দেওয়া হবে, তারপর আবার পরবর্তী দুটি জায়গায় 0 আছে তাই আরও দুইটি 0 ফেরত দেওয়া হবে, তারপর এটি 1 তাই দ্বিতীয় আর্গুমেন্ট অর্থাৎ 1 ফিরে এসেছে। 2য় উদাহরণে, আমরা 4 ডিজিট পর্যন্ত আউটপুট পেয়েছি কারণ চেকিং চারটি সংখ্যা পর্যন্ত করা হয়েছে কিন্তু 1ম উদাহরণে, এটি 8 সংখ্যা পর্যন্ত তাই আমরা আউটপুটে 8 সংখ্যা পেয়েছি। আউটপুটের ক্রম বাম থেকে ডানে তাই আউটপুটটি প্রথম উদাহরণে 0,0,0,1,0,0,0,0 এবং দ্বিতীয় উদাহরণে 0,0,0,1 হিসাবে প্রদর্শিত হয়৷


  1. কিভাবে MySQL ফাংশন থেকে টেবিল ফেরত?

  2. MySQL এর SLEEP() ফাংশন কি একটি ব্যস্ত-অপেক্ষা? কিভাবে এটি বাস্তবায়ন?

  3. কিভাবে পরিবর্তনশীল সুযোগ পাইথন ফাংশন কাজ করে?

  4. কিভাবে একটি ফাংশন আর্গুমেন্ট হিসাবে পাইথন ফাংশন পাস?