কটাক্ষপাত SQL সার্ভার - ভিত্তিক র্যান্ডম সংখ্যা সেট করুন যা খুবই বিস্তারিত ব্যাখ্যা আছে।
সংক্ষিপ্তসার হিসাবে, নিম্নলিখিত কোডটি 0 থেকে 13 এর মধ্যে একটি অভিন্ন বিতরণ সহ অন্তর্ভুক্ত সহ এলোমেলো সংখ্যা উত্পন্ন করে:
ABS(CHECKSUM(NewId())) % 14
আপনার পরিসীমা পরিবর্তন করতে, কেবল প্রকাশের শেষে নম্বরটি পরিবর্তন করুন। আপনার যদি এমন একটি পরিসরের প্রয়োজন হয় যা ইতিবাচক এবং নেতিবাচক উভয় সংখ্যা অন্তর্ভুক্ত করে তবে অতিরিক্ত সতর্কতা অবলম্বন করুন। যদি আপনি এটি ভুল করে থাকেন তবে 0 নম্বরটি দ্বিগুণ গণনা করা সম্ভব।
ঘরে গণিত বাদামের জন্য একটি ছোট্ট সতর্কতা: এই কোডটিতে খুব সামান্য পক্ষপাত রয়েছে। CHECKSUM()
স্কেল ইন্ট ডাটাটাইপের পুরো পরিসীমা জুড়ে অভিন্ন সংখ্যার ফলাফল বা কমপক্ষে আমার (সম্পাদক) পরীক্ষাটি দেখতে পারা যায় তার কাছাকাছি। তবে, কিছুটা পক্ষপাত হবে যখন CHECKSUM () এই ব্যাপ্তির একেবারে শীর্ষে একটি সংখ্যা তৈরি করে। যখনই আপনি সর্বাধিক সম্ভাব্য পূর্ণসংখ্যার এবং আপনার সর্বাধিক পূর্ণসংখ্যার আগে আপনার পছন্দসই পরিসরের আকারের শেষ সঠিক একাধিকের মধ্যে একটি সংখ্যা পান (এই ক্ষেত্রে 14), ফলাফলগুলি আপনার পরিসরের অবশিষ্ট অংশের চেয়ে বেশি পছন্দসই হয় যা থেকে উত্পাদন করা যায় না 14 এর শেষ একাধিক।
উদাহরণস্বরূপ, কল্পনা করুন যে সমস্ত প্রকারের পূর্ণ পরিসংখ্যান কেবলমাত্র 19 19 যখন CHECKSUM () এর ফলাফল 14-15-এ আসে, এগুলি ফলাফল 0-5-এর সাথে মিলে যায়। এই সংখ্যাগুলি -13-১৩-এরও বেশি ভারী হয়ে উঠবে , কারণ চেকসাম () তাদের উত্পন্ন করার দ্বিগুণ। এটি দৃশ্যমানভাবে প্রদর্শন করা সহজ। নীচে আমাদের কাল্পনিক পূর্ণসংখ্যার পরিসরের ফলাফলগুলির সম্পূর্ণ সম্ভাব্য সেটটি দেওয়া হল:
চেকসাম পূর্ণসংখ্যা: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 19
ব্যাপ্তি ফলাফল: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 0 1 2 3 4 5
আপনি এখানে দেখতে পারেন যে অন্যদের তুলনায় কিছু সংখ্যক উত্পাদন করার সম্ভাবনা রয়েছে: পক্ষপাতিত্ব। ধন্যবাদ, ইন্ট টাইপের আসল পরিসর অনেক বড় ... এত বেশি যে বেশিরভাগ ক্ষেত্রে পক্ষপাত প্রায় অন্বেষণযোগ্য। তবে, আপনি যদি কখনও গুরুতর সুরক্ষা কোডের জন্য নিজেকে এই কাজটি করতে দেখেন তবে সচেতন থাকার বিষয়।