Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

निश्चित अंतराल में विशिष्ट यादृच्छिक समय पीढ़ी

मुद्दा ओपी केवल rand() . का उपयोग करते समय था इसके मूल्यांकन के कारण है प्रति प्रश्न एक बार

दस्तावेज़ीकरण से :

नीचे वर्णित दृष्टिकोण अनुकूलन को हटा देता है और इस व्यवहार को दबा देता है, इसलिए rand() मूल्यांकन किया जाता है प्रति पंक्ति एक बार :

dateadd( second
       , rand(cast(newid() as varbinary)) * 43200
       , cast('08:00:00' as time) )
  • newid() uniqueidentifier प्रकार का अद्वितीय मान जेनरेट करता है ;
  • मान cast के साथ परिवर्तित किया जाता है बीज . के रूप में उपयोग करने के लिए में rand([seed]) एक छद्म यादृच्छिक float उत्पन्न करने के लिए कार्य करता है 0 से 1 . तक का मान , और बीज . के रूप में हमेशा अद्वितीय होता है वापसी मूल्य भी अद्वितीय होता है।

SQLFiddle



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. आवधिक अमान्यकास्ट अपवाद और सर्वर लिंक के साथ लेनदेन को फिर से शुरू करने में विफल रहा

  2. एसक्यूएल एक ही तालिका में समूह पर कॉलम के योग को कैसे अपडेट करें

  3. कुल फ़ंक्शन के बिना एसक्यूएल सर्वर में पिवट क्वेरी कैसे बनाएं?

  4. 4 कारण क्यों आपको अपनी 2020 की योजना में डेटाबेस निगरानी को प्राथमिकता देनी चाहिए

  5. अक्षांश / देशांतर द्वारा त्रिज्या खोज