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

मैं इन दोनों को एक साथ कैसे जोड़ूं? Varchar guid और guid दोनों प्राथमिक कुंजी टाइप करते हैं

जब विभिन्न डेटाटाइप वाले मानों की तुलना करने की बात आती है तो SQL सर्वर बुद्धिमान छोड़ देता है।

निम्नलिखित स्क्रिप्ट बिना किसी स्पष्ट रूपांतरण के काम करती है

DECLARE @TableA TABLE (VARCHARID VARCHAR(48) PRIMARY KEY)
DECLARE @TableB TABLE (GUIDID UNIQUEIDENTIFIER PRIMARY KEY)

INSERT INTO @TableA VALUES 
    ('{0CAF3FBC-3C76-420B-B0C4-42867551E3B5}')
  , ('{0CAF3FBC-3C76-420B-B0C4-42867551E3B6}')
  , ( '0CAF3FBC-3C76-420B-B0C4-42867551E3B7' )
  , ( '0CAF3FBC-3C76-420B-B0C4-42867551E3B8' )

INSERT INTO @TableB VALUES 
    ('{0CAF3FBC-3C76-420B-B0C4-42867551E3B5}')
  , ( '0CAF3FBC-3C76-420B-B0C4-42867551E3B6' )
  , ('{0CAF3FBC-3C76-420B-B0C4-42867551E3B7}')
  , ( '0CAF3FBC-3C76-420B-B0C4-42867551E3B8' )

SELECT  *
FROM    @TableA a
        INNER JOIN @TableB b ON b.GUIDID = a.VARCHARID

परिणाम

VARCHARID                               GUIDID
{0CAF3FBC-3C76-420B-B0C4-42867551E3B5}  0CAF3FBC-3C76-420B-B0C4-42867551E3B5
{0CAF3FBC-3C76-420B-B0C4-42867551E3B6}  0CAF3FBC-3C76-420B-B0C4-42867551E3B6
0CAF3FBC-3C76-420B-B0C4-42867551E3B7    0CAF3FBC-3C76-420B-B0C4-42867551E3B7
0CAF3FBC-3C76-420B-B0C4-42867551E3B8    0CAF3FBC-3C76-420B-B0C4-42867551E3B8


  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. SQL सर्वर में ISNULL () का उपयोग करते समय क्या कोई प्रदर्शन समस्या है?

  3. क्लस्टरिंग और स्टैकिंग द्वारा SQL सर्वर इंस्टेंस को समेकित करना

  4. WCF और सिंक फ्रेमवर्क का उपयोग करके HTTP पर SQL Server 2008 डेटाबेस को सिंक करना

  5. SQL में औसत और केस