Collation को सर्वर स्तर, डेटाबेस स्तर, स्तंभ स्तर, अभिव्यक्ति स्तर और पहचानकर्ता स्तर पर निर्दिष्ट किया जा सकता है। इनमें से प्रत्येक के लिए एक अलग विधि की आवश्यकता होती है।
सर्वर स्तर का मिलान
यहां बताया गया है कि सर्वर स्तर का मिलान कैसे किया जाता है:
SELECT CONVERT (varchar, SERVERPROPERTY('collation')) AS 'Server Collation';
यह कोलेशन इस तरह लौटाता है:
Server Collation ---------------------------- SQL_Latin1_General_CP1_CI_AS
आप sp_helpsort
का भी उपयोग कर सकते हैं सर्वर के लिए डिफ़ॉल्ट संयोजन वापस करने के लिए संग्रहीत कार्यविधि:
EXECUTE sp_helpsort;
यह कोलेशन इस तरह लौटाता है:
Server default collation ---------------------------- Latin1-General, case-insensitive, accent-sensitive, kanatype-insensitive, width-insensitive for Unicode Data, SQL Server Sort Order 52 on Code Page 1252 for non-Unicode Data
डेटाबेस स्तर का मिलान
किसी विशिष्ट डेटाबेस के संयोजन को वापस करने के लिए निम्न क्वेरी चलाएँ। WHERE
क्लॉज आपको परिणामों को उस डेटाबेस तक सीमित करने की अनुमति देता है जिसमें आप रुचि रखते हैं:
SELECT name, collation_name FROM sys.databases WHERE name = 'Music';
इसका परिणाम कुछ इस तरह होता है:
name collation_name ----- ---------------------------- Music SQL_Latin1_General_CP1_CI_AS
इस मामले में, हमने Music
. नामक डेटाबेस निर्दिष्ट किया है ।
आप DATABASEPROPERTYEX()
. का भी उपयोग कर सकते हैं डेटाबेस के लिए डिफ़ॉल्ट संयोजन वापस करने के लिए कार्य:
SELECT DATABASEPROPERTYEX('Music', 'Collation') AS Collation;
कॉलम लेवल कोलेशन
कॉलम स्तर पर कोलेशन भी निर्दिष्ट किया जा सकता है। यह पता लगाने के लिए कि एक विशिष्ट कॉलम किस संयोजन का उपयोग करता है, sys.columns
. के विरुद्ध एक क्वेरी चलाएँ . इस तरह:
SELECT name, collation_name FROM sys.columns WHERE name = N'ArtistName';
इसका परिणाम कुछ इस तरह होता है:
name collation_name ---------- ---------------------------- ArtistName SQL_Latin1_General_CP1_CI_AS
अभिव्यक्ति और पहचानकर्ता स्तर संयोजन
कोलेशन कास्ट को लागू करने के लिए कोलेशन को कैरेक्टर स्ट्रिंग एक्सप्रेशन पर लागू किया जा सकता है। उदाहरण के लिए, आप COLLATE
. का उपयोग कर सकते हैं SELECT
. में क्लॉज उपयोग किए जाने वाले संयोजन को निर्दिष्ट करने के लिए कथन। इस तरह:
USE Music; SELECT ArtistId, ArtistName FROM Artists ORDER BY ArtistName COLLATE Latin1_General_CI_AI;
वह संयोजन CI
. का उपयोग करता है केस-असंवेदनशील, और AI
. के लिए उच्चारण-असंवेदनशील के लिए।
हम इसे CS
. में बदल सकते हैं केस-संवेदी के लिए, और AS
उच्चारण-संवेदनशील के लिए, और क्वेरी परिणामों को अलग तरीके से (डेटा के आधार पर) क्रमबद्ध किया जा सकता है:
USE Music; SELECT ArtistId, ArtistName FROM Artists ORDER BY ArtistName COLLATE Latin1_General_CS_AS;
इसलिए, यह आपको क्वेरी चलाते समय डेटाबेस या कॉलम स्तर पर लागू होने वाले संयोजन को ओवरराइड करने की अनुमति देता है।