SQLite में, आप random()
. का उपयोग कर सकते हैं छद्म यादृच्छिक संख्या उत्पन्न करने के लिए कार्य।
यह बहुत अच्छा है, लेकिन लौटाया गया मान -9223372036854775808 और +9223372036854775807 के बीच है।
क्या होगा यदि आपको 0 और 10 के बीच एक यादृच्छिक संख्या की आवश्यकता है? या कहें, 1 और 100?
सौभाग्य से आप random()
. को मिलाकर ऐसा कर सकते हैं abs()
. के साथ और मॉड्यूलो ऑपरेटर।
0 और 10 के बीच यादृच्छिक संख्या
0 और 10 के बीच एक छद्म यादृच्छिक संख्या उत्पन्न करने के लिए आप निम्न कोड का उपयोग कर सकते हैं।
SELECT abs(random() % 10);
यहां एक से अधिक यादृच्छिक मानों को चुनने का एक उदाहरण दिया गया है।
SELECT
abs(random() % 10) AS R1,
abs(random() % 10) AS R2,
abs(random() % 10) AS R3;
परिणाम:
R1 R2 R3 ---------- ---------- ---------- 2 8 5
सीमा बढ़ाएं
बेशक, आप अपनी पसंद की किसी भी चीज़ के लिए मान बदल सकते हैं (यह मानते हुए कि यह random()
के भीतर है) संभावित मूल्यों की सीमा)।
यहां यह फिर से 0 और 100 के बीच बढ़ी हुई सीमा के साथ है।
SELECT
abs(random() % 100) AS R1,
abs(random() % 100) AS R2,
abs(random() % 100) AS R3;
परिणाम:
R1 R2 R3 ---------- ---------- ---------- 76 60 85
1 और 10 के बीच यादृच्छिक संख्या
यदि आप नहीं चाहते कि शून्य संभावित परिणामों का हिस्सा बने, तो आप निम्न विधि का उपयोग कर सकते हैं।
निम्नलिखित कोड 1 और 10 के बीच एक छद्म यादृच्छिक संख्या उत्पन्न करता है।
SELECT abs(random()) % (10 - 1) + 1;
यहां एक से अधिक यादृच्छिक मानों को चुनने का एक उदाहरण दिया गया है।
SELECT
abs(random()) % (10 - 1) + 1 AS R1,
abs(random()) % (10 - 1) + 1 AS R2,
abs(random()) % (10 - 1) + 1 AS R3;
परिणाम:
R1 R2 R3 ---------- ---------- ---------- 2 1 8