जवाबों:
मूल रूप से, स्ट्रिंग्स को कैसे सॉर्ट और तुलना करना है।
उदाहरण:
तुलना:
क्रमबद्ध करना:
विशेष वर्ण तुल्यता
कुछ SQL (SQL Server 2008+)
DECLARE @foo TABLE (bar varchar(2))
INSERT @foo VALUES ('z'), ('æ'), ('ø'), ('å'), ('ss'), ('ß'), ('a'), ('ä')
SELECT * FROM @foo ORDER BY bar COLLATE Finnish_Swedish_100_CI_AS
SELECT * FROM @foo ORDER BY bar COLLATE Norwegian_100_CI_AS
SELECT * FROM @foo ORDER BY bar COLLATE Latin1_General_100_CS_AS --german (western europe) and default
SELECT * FROM @foo ORDER BY bar COLLATE German_PhoneBook_100_CS_AS
"Collation" को शायद etymology.com पर सबसे अच्छा परिभाषित किया गया है,
14 सी। देर से, "एक साथ लाने और तुलना करने का कार्य,"
यह पिछले 600 वर्षों में बिल्कुल नहीं बदला है। "कोलेट" का अर्थ है "एक साथ लाने के लिए" और चाहे वह किसी पुस्तक का क्रम हो, कालानुक्रमिक या अन्यथा डेटाबेस में, यह सब समान है।
जैसा कि यह कंप्यूटर विज्ञान पर लागू होता है, हम जो कर रहे हैं वह भंडारण तंत्र को क्रम से अलग कर रहा है । आपने ASCII-betical के बारे में सुना होगा । यह ASCII वर्णों के बाइनरी एन्कोडिंग के आधार पर एक तुलना को संदर्भित करता है। उस प्रणाली में, भंडारण और टकराव दो समान हैं। यदि ASCII- मानकीकृत "एन्कोडिंग" ने कभी भी "कॉलेशन" को बदल दिया (ऑर्डर) भी बदल जाएगा।
POSIX ने उसे तोड़ना शुरू कर दिया LC_COLLATE
। लेकिन जैसा कि हम यूनिकोड में जाते हैं, संघ एक समान संघ के रूप में उभरने के लिए उभरा है: आईसीयू।
एसक्यूएल कल्पना में कोलाज प्रदान करने के लिए दो एक्सटेंशन हैं,
F690
: "सहयोग का समर्थन:
शामिल collation name
, collation clause
, collation definition
और drop collation
।
F692
: विस्तारित सहयोग समर्थन,
स्कीमा में एक कॉलम में एक अलग डिफ़ॉल्ट टकराव को शामिल करना शामिल है।
अनिवार्य रूप से ये CREATE
और करने की क्षमता प्रदान करते हैंDROP
ऑपरेटरों और प्रकारों के लिए निर्दिष्ट करने के लिए और स्तंभों के लिए एक डिफ़ॉल्ट को परिभाषित करने के लिए उन्हें कोलाज हैं।
SQL को चेक आउट की पेशकश करने के बारे में अधिक जानकारी के लिए,
एक सीमित उदाहरण को चिपकाने के बजाय, यहाँ PostgreSQL टेस्ट सूट है जो बहुत व्यापक है। कम से कम पहला लिंक देखें और देखें'Türkiye' COLLATE "tr-x-icu" ILIKE '%KI%' AS "false"
collate.icu.utf8.out
collate.linux.utf8.out
collate.out
शायद बाहर की जाँच करने के लायक नहीं है, लेकिन मैंने इसे पूर्णता के लिए यहाँ रखा, POSIX जाँच उबाऊ।