आह, लेकिन यह है संभव है क्योंकि वहाँ है एक संयोजन जो इसे स्वाभाविक रूप से संभालता है (वास्तव में कई, लेकिन सभी एक ही "परिवार" में):Hungarian_Technical_* (ठीक है, केस सेंसिटिव (सीएस) और बाइनरी (बीआईएन / बीआईएन 2) विविधताएं घटाएं)। बेशक, मुझे अभी भी यकीन नहीं है कि यह PK के लिए एक अच्छा विकल्प है, लेकिन किसी कारण से यह UNIQUE INDEX
नहीं हो सकता है ।
SELECT tmp.*,
IIF(tmp.[First] = tmp.[Second] COLLATE Hungarian_Technical_CI_AI,
N'Equal',
N'NOT EQUAL') AS [Result]
FROM (
SELECT N'weiß', N'Weiß', N'Equal'
UNION ALL
SELECT N'weiss', N'Weiss', N'Equal'
UNION ALL
SELECT N'weiß', N'weiss', N'NOT Equal'
UNION ALL
SELECT N'Weiß', N'Weiss', N'NOT Equal'
UNION ALL
SELECT N'weiß', N'Weiss', N'NOT Equal'
) tmp ([First], [Second], [Ideal]);
परिणाम:
First Second Ideal Result
weiß Weiß Equal Equal
weiss Weiss Equal Equal
weiß weiss NOT Equal NOT EQUAL
Weiß Weiss NOT Equal NOT EQUAL
weiß Weiss NOT Equal NOT EQUAL
इस तरह से काम करने वाले कुल 24 कोलाज हैं। आप उन्हें इसके माध्यम से ढूंढ सकते हैं:
SELECT hc.*
FROM sys.fn_HelpCollations() hc
WHERE hc.name LIKE N'Hungarian[_]Technical%'
AND hc.name LIKE N'%[_]CI%'
ORDER BY hc.name;
वे हैं:
यदि संस्करण 100
कॉलेशन उपलब्ध हैं (अर्थात्:आप SQL Server 2008 या नए का उपयोग कर रहे हैं), फिर उनका उपयोग करें, न कि उन कॉलेशनों का, जिनके नाम में कोई संस्करण संख्या नहीं है।
संपादित करें:
मुझे "हंगेरियन टेक्निकल" कोलाजेशन पर कुछ अतिरिक्त जानकारी मिली जो रुचिकर हो सकती है:
-
MySQL:हंगेरियन कोलेशन - यह कुछ MySQL डेवलपर्स द्वारा एक लिस्टसर्व चर्चा का एक संग्रह है, जो यह पता लगाने की कोशिश कर रहा है कि कॉलेशन को कैसे लागू किया जाए। स्पष्ट रूप से इसमें कुछ जटिल नियम हैं, कम से कम भाग में सॉर्टिंग के लिए एक ही वर्ण में एकाधिक वर्णों को समान करने की आवश्यकता के कारण (अनुभाग "3. विशेष डिग्राफ/ट्रिग्राफ नियम" देखें)। यह हो सकता है कुछ अप्रत्याशित व्यवहार का कारण। उस अनुभाग में विशिष्ट अक्षर संयोजनों को नोट किया गया है, इसलिए कम से कम यह एक परीक्षण केस सेट करना आसान बनाता है ताकि यह निर्धारित करने में सहायता मिल सके कि इस संयोजन का उपयोग करके सॉर्टिंग नियम अमान्य हैं या नहीं।
-
इतने सारे(106) हंगेरियन कोलाज क्यों हैं? -- यह social.msdn पर एक चर्चा है जिसमें कुछ रोचक जानकारी है। वहाँ एरलैंड सोमरस्को द्वारा एक टिप्पणी है जिसमें वह कहता है:
MySQL डेवलपर्स से जटिल नियमों के बारे में चर्चा को देखते हुए, वे परीक्षा परिणाम आश्चर्यजनक नहीं लगते।
इसलिए, इन दोनों मदों को शायद यह तय करने में फ़ैक्टर किया जाना चाहिए कि NVARCHAR फ़ील्ड को इन हंगेरियन तकनीकी कॉलेशन में से किसी एक पर सेट करने का आसान मार्ग जाना है या नहीं, या गणना कॉलम की @ गैरेथडी की सिफारिश के साथ जाना है।
स्ट्रिंग्स और कोलाजंस के साथ काम करने के बारे में अधिक जानकारी के लिए, कृपया देखें:Collations Info