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

दो संख्याओं के बीच संख्याओं की श्रेणी कैसे उत्पन्न करें?

VALUES . के साथ गैर-स्थायी मान चुनें खोजशब्द। फिर JOIN . का उपयोग करें s बहुत सारे और बहुत सारे संयोजन उत्पन्न करने के लिए (सैकड़ों हजारों पंक्तियों और उससे आगे बनाने के लिए बढ़ाया जा सकता है)।

लघु और तेज़ संस्करण (पढ़ने में इतना आसान नहीं):

WITH x AS (SELECT n FROM (VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) v(n))
SELECT ROW_NUMBER() OVER (ORDER BY (SELECT NULL))
FROM x ones, x tens, x hundreds, x thousands
ORDER BY 1

डेमो

अधिक वर्बोज़ संस्करण:

SELECT ones.n + 10*tens.n + 100*hundreds.n + 1000*thousands.n
FROM (VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) ones(n),
     (VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) tens(n),
     (VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) hundreds(n),
     (VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) thousands(n)
ORDER BY 1

डेमो

दोनों संस्करणों को WHERE . के साथ आसानी से बढ़ाया जा सकता है खंड, संख्याओं के आउटपुट को उपयोगकर्ता-निर्दिष्ट सीमा तक सीमित करता है। यदि आप इसका पुन:उपयोग करना चाहते हैं, तो आप इसके लिए एक तालिका-मूल्यवान फ़ंक्शन को परिभाषित कर सकते हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैं DELETE कथन में उपनाम का उपयोग क्यों नहीं कर सकता?

  2. SQL सर्वर बल्क इंसर्ट - भाग 1

  3. मैं तालिका में सभी कॉलम कैसे सूचीबद्ध करूं?

  4. SQL सर्वर सभी ऑपरेटर समझाया गया

  5. Statement.setFetchSize(nSize) विधि वास्तव में SQL सर्वर JDBC ड्राइवर में क्या करती है?