में UTF-16/यूनिकोड डेटा संग्रहीत this के अनुसार, SQL Server 2K5 आंतरिक रूप से UCS-2 का उपयोग करता है। यह यूसीएस -16 में यूटीएफ -16 डेटा (उचित डेटा प्रकारों, नाचर इत्यादि के साथ) स्टोर कर सकता है, हालांकि यदि कोई पूरक चरित्र है तो इसे 2 यूसीएस -2 अक्षरों के रूप में संग्रहीत किया जाता है।SQL सर्वर
यह स्ट्रिंग फ़ंक्शंस के साथ स्पष्ट समस्याएं लाता है, अर्थात् एक वर्ण को SQL सर्वर द्वारा 2 के रूप में माना जाता है।
मुझे कुछ आश्चर्य है कि SQL सर्वर मूल रूप से केवल यूसीएस -2 को संभालने में सक्षम है, और इससे भी अधिक यह कि यह SQL 2K8 में तय नहीं है। मैं सराहना करता हूं कि इनमें से कुछ पात्र सामान्य नहीं हो सकते हैं।
लेख में सुझाए गए कार्यों के अलावा, SQL सर्वर 2K5 में (टूटा हुआ) स्ट्रिंग फ़ंक्शन और यूटीएफ -16 डेटा से निपटने के लिए सर्वोत्तम दृष्टिकोण पर कोई सुझाव।
क्या स्ट्रिंग फ़ंक्शन टूटा हुआ है? – gbn
एलईएन स्ट्रिंग में यूसीएस -2 अक्षरों की संख्या वापस करेगा, यूटीएफ -16 अक्षरों की संख्या नहीं। सब्सट्रिंग यूटीएफ -16 अक्षरों को आधा में विभाजित करेगा। बाएं और दाएं के लिए चला जाता है। अप्पर और लोअर शायद तोड़ देगा। रिवर्स निश्चित रूप से तोड़ देगा। CHARINDEX और PATINDEX भी। डिफेंसेंस और स्टफ के बारे में निश्चित नहीं है। तो उनमें से बहुत सारे .... –
इसे इंगित करने के लिए धन्यवाद। तथ्य यह है कि यह सभी यूनिकोड वर्णों का समर्थन नहीं करता है इसका मतलब है कि कुछ यूटीएफ -16 स्ट्रिंग मान (उदा। विंडोज या .NET से) सत्यापन के बिना SQL सर्वर में डंप करने के लिए मान्य नहीं हैं। किसी भी एप्लिकेशन को बग-फ्री और तकनीकी रूप से सही होने के लिए (कैसे बग-कारण वर्णों में कठिनाई होती है, जहां तक शुद्धता जाती है), सभी तारों को पहले UCS-2-संगत वर्ण रखने के लिए सत्यापित किया जाना चाहिए एसक्यूएल सर्वर में संग्रहीत किया जा रहा है। आश्चर्यजनक! मेरा काम इतना कठिन माइक्रोसॉफ्ट बनाने का तरीका है। – Triynko