2010-02-21 14 views
5

मैं डेटाबेस में किसी विशिष्ट तालिका के संयोजन को कैसे प्राप्त कर सकता हूं? क्या यह संभव है कि एक टेबल में डीबी में अलग-अलग संयोजन हो?मैं डेटाबेस में किसी विशिष्ट तालिका के संयोजन को कैसे प्राप्त कर सकता हूं?

उत्तर

9

तालिका स्तर पर संयोजन प्रति स्तंभ आधार पर है, इसलिए डेटाबेस से अलग संयोजन होना संभव है। यदि कॉलम स्तर पर संयोजन को परिभाषित नहीं किया गया है, तो यह डेटाबेस संयोजन सेटिंग में डिफ़ॉल्ट है।

एसक्यूएल सर्वर 2000:

SELECT c.name, 
     c.collation 
    FROM SYSCOLUMNS c 
WHERE [id] = OBJECT_ID('your_table_name') 

एसक्यूएल सर्वर 2005+:

SELECT c.name, 
     c.collation_name 
    FROM SYS.COLUMNS c 
    JOIN SYS.TABLES t ON t.object_id = c.object_id 
WHERE t.name = 'your_table_name' 
+0

यदि आप स्कीमा 'sys' के बजाय स्कीमा' INFORMATION_SCHEMA' का उपयोग करते हैं तो बाद का मामला भी आसान हो सकता है (कोई भी शामिल या ऑब्जेक्ट आईडी नहीं)। आपको मिलेगा: 'COLUMN_NAME, COLLATION_NAME से INFORMATION_SCHEMA.COLUMNS जहां TABLE_NAME =' your_table_name'' –

+0

क्षमा करें, ऊपर टिप्पणी केवल SQL Server 2012 पर लागू होती है और बाद में जो स्पष्ट रूप से उत्तर नहीं दिया गया था, लेकिन मुझे लगता है कि ज्यादातर लोग करेंगे अब तक इसका उपयोग कर रहे हैं, इसलिए टिप्पणी अभी भी उपयोगी हो सकती है। –

1

तालिका के लिए एक संयोजन के रूप में ऐसी कोई चीज़ नहीं है।

डेटाबेस में एक डिफ़ॉल्ट collation (जो सर्वर के लिए collation के लिए डिफ़ॉल्ट है) है।

डेटाबेस के लिए डिफ़ॉल्ट संयोजन आपके द्वारा तालिका में जोड़े गए किसी भी कॉलम पर लागू किया जाएगा, भले ही आप कॉलम स्तर पर एक संयोजन को स्पष्ट रूप से निर्दिष्ट करें।

+1

मैं इस स्तंभ के स्तर का मिलान कर सकते हैं? –

संबंधित मुद्दे

 संबंधित मुद्दे