SQL सर्वर में, T-SQL RAND()
फ़ंक्शन आपको एक यादृच्छिक संख्या उत्पन्न करने की अनुमति देता है। विशेष रूप से, यह 0 से 1 तक एक छद्म-यादृच्छिक फ्लोट मान देता है, अनन्य।
फ़ंक्शन एक वैकल्पिक तर्क स्वीकार करता है जो बीज मान प्रदान करता है। किसी दिए गए बीज मूल्य के लिए, परिणाम हमेशा समान होंगे।
सिंटैक्स
वाक्य रचना इस प्रकार है:
RAND ( [ seed ] )
जहां बीज एक पूर्णांक व्यंजक (tinyint, smallint, या int) है जो बीज मान देता है। यदि यह तर्क प्रदान नहीं किया जाता है, तो SQL सर्वर यादृच्छिक रूप से एक बीज असाइन करता है।
उदाहरण 1 - कोई तर्क नहीं
जब हम कोई तर्क नहीं देते तो क्या होता है, यह दिखाने के लिए यहां एक बुनियादी उदाहरण दिया गया है।
SELECT RAND() Result;
परिणाम:
+--------------------+ | Result | |--------------------| | 0.0354675287734768 | +--------------------+
परिणाम स्थिर नहीं है - हर बार जब आप इसे चलाएंगे तो यह अलग होगा।
जब हम एक से अधिक RAND()
चलाते हैं तो क्या होता है इसका एक उदाहरण यहां दिया गया है एक साथ काम करता है।
SELECT RAND() 'Result 1', RAND() 'Result 2', RAND() 'Result 3';
परिणाम:
+-------------------+------------------+--------------------+ | Result 1 | Result 2 | Result 3 | |-------------------+------------------+--------------------| | 0.999568268427369 | 0.40098746841349 | 0.0606836711764244 | +-------------------+------------------+--------------------+
उदाहरण 2 - बीज मूल्य का उपयोग करना
जैसा कि उल्लेख किया गया है, आप बीज मूल्य निर्धारित करने के लिए एक तर्क में पारित कर सकते हैं। यह आपको फ़ंक्शन के आउटपुट को प्रभावित करने की अनुमति देता है।
SELECT RAND(8) Result;
परिणाम:
+-------------------+ | Result | |-------------------| | 0.713722424011731 | +-------------------+
इस स्थिति में, यदि समान तर्क मान प्रदान किया जाता है, तो फ़ंक्शन हर बार समान मान लौटाएगा। यह निम्नलिखित उदाहरण में प्रदर्शित किया गया है:
SELECT RAND(8) 'Result 1', RAND(8) 'Result 2', RAND(8) 'Result 3';
परिणाम:
+-------------------+-------------------+-------------------+ | Result 1 | Result 2 | Result 3 | |-------------------+-------------------+-------------------| | 0.713722424011731 | 0.713722424011731 | 0.713722424011731 | +-------------------+-------------------+-------------------+
हमने तीन बार समारोह चलाया। और क्योंकि हमने हर बार एक ही बीज का उपयोग किया था, परिणाम सभी समान थे।
उदाहरण 3 - अभिव्यक्ति के भाग के रूप में RAND() का उपयोग करना
आप RAND()
. का उपयोग कर सकते हैं एक व्यंजक के भाग के रूप में कार्य करता है।
SELECT RAND()*10 Result;
परिणाम:
+------------------+ | Result | |------------------| | 3.32720913214171 | +------------------+
उदाहरण 4 - परिणाम को गोल करना
हम फंक्शन के अंदर फंक्शन को नेस्ट करके भी फ्रैक्शनल पार्ट को हटा सकते हैं जैसे FLOOR()
या CEILING()
।
SELECT CEILING(RAND()*10) Result;
परिणाम:
+----------+ | Result | |----------| | 3 | +----------+
उदाहरण 5 - दो संख्याओं के बीच एक यादृच्छिक पूर्णांक लौटाना
आप यह भी निर्दिष्ट कर सकते हैं कि यादृच्छिक संख्या दो संख्याओं के बीच होनी चाहिए।
यहां 5 और 10 (सहित) के बीच एक यादृच्छिक संख्या उत्पन्न करने का एक उदाहरण दिया गया है।
SELECT FLOOR(RAND()*(10-5+1)+5) Result;
परिणाम:
+----------+ | Result | |----------| | 9 | +----------+
आइए अलग-अलग परिणाम देखने के लिए एक ही कोड को कई बार चलाएं।
SELECT FLOOR(RAND()*(10-5+1)+5) 'Result 1', FLOOR(RAND()*(10-5+1)+5) 'Result 2', FLOOR(RAND()*(10-5+1)+5) 'Result 3';
परिणाम:
+------------+------------+------------+ | Result 1 | Result 2 | Result 3 | |------------+------------+------------| | 10 | 7 | 6 | +------------+------------+------------+