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

एसक्यूएल सर्वर में अतिव्यापी श्रेणियों की जांच करने के लिए प्रश्न?

ओवरलैप खोजने का सबसे आसान तरीका यह है:

IF EXISTS (SELECT 1 FROM table WHERE @myValueLo <= ExistingRangeEnd AND @myValueHi >= ExistingRangeStart)
  -- Overlaps
ELSE
  -- Doesn't overlap

यह काम करने के लिए दिखाया जा सकता है यदि आप नीचे दिए गए आरेख में प्रत्येक बार के साथ ऊपर की स्थिति की तुलना करते हैं:

Existing range:         |-------------------|
Overlaps:       |-------------|       |------------|
                |----------------------------------|
                           |-------------|
Not overlaps:   |-----|                       |----|

सभी ओवरलैप मामलों में, ये दोनों परीक्षण सत्य हैं:

  • आरंभ होने की तारीख मौजूदा सीमा का हमेशा समाप्ति तिथि . से पहले होता है नई श्रेणी का
  • समाप्ति तिथि मौजूदा सीमा का आरंभ तिथि . के बाद का है नई श्रेणी का

जो ओवरलैप नहीं करते हैं वे इस परीक्षण में से एक या अन्य विफल हो जाते हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Red Hat 8 पर SQL सर्वर कैसे स्थापित करें

  2. एक कॉलम को कई पंक्तियों में विभाजित करें

  3. JDBC कनेक्शन विफल रहा, त्रुटि:होस्ट करने के लिए TCP/IP कनेक्शन विफल रहा

  4. BitConverter के साथ SQL सर्वर varbinary bigint.ToInt64 मान भिन्न हैं

  5. ALTER TABLE कथन SQL सर्वर में CHECK बाधा के साथ विरोध करता है - SQL सर्वर / TSQL ट्यूटोरियल भाग 89