Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

SQL सर्वर 2008 और यूनिकोड कैरेक्टर तुलना

ठीक है, तो थोड़ा और खुदाई से पता चलता है कि यह लगभग निश्चित रूप से नए चरित्र के कारण है, क्योंकि यह लैटिन संयोजन के एसक्यूएल सर्वर 2008 समकक्षों के साथ भी काम करता है, लेकिन पुराने संस्करणों के साथ नहीं, यानी Latin1_General_100_CI_AS के साथ काम करता है। , लेकिन Latin1_General_CI_AS . के साथ नहीं . मेरे द्वारा उपयोग किए गए इन स्ट्रिंग्स की सही तुलना करने वाले कोलाजंस की पूरी सूची प्राप्त करने के लिए:

IF OBJECT_ID('Tempdb..#T') IS NOT NULL
    DROP TABLE #T;
IF OBJECT_ID('Tempdb..#V') IS NOT NULL
    DROP TABLE #V;

CREATE TABLE #V (A NVARCHAR(50), B NVARCHAR(50));
INSERT #V (A, B) VALUES (N'it᧠', N'it');

CREATE TABLE #T (Collation VARCHAR(500), Match BIT);

DECLARE @SQL NVARCHAR(MAX) = (SELECT N'INSERT #T (Collation, Match) 
                                        SELECT ''' + Name + ''', CASE WHEN A = B COLLATE ' + name + ' THEN 1 ELSE 0 END
                                        FROM    #V;'
                                FROM sys.fn_helpcollations()
                                FOR XML PATH(''), TYPE
                            ).value('.', 'NVARCHAR(MAX)');

EXECUTE sp_executesql @SQL;

SELECT  *
FROM    #T
WHERE   Match = 0;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. सभी तालिकाओं के लिए SQL सर्वर डेटाबेस में विदेशी कुंजी बाधाओं को कैसे छोड़ें - SQL सर्वर / TSQL ट्यूटोरियल भाग 72

  2. RML यूटिलिटीज टूल के माध्यम से SQLDIAG प्रदर्शन डेटा की रिपोर्ट करना | SQL सर्वर प्रदर्शन समस्या निवारण -7

  3. एक भारी तालिका से डीबी डिजाइन और डेटा पुनर्प्राप्ति

  4. किसी भी पिछले महीने डेटा प्राप्त करने के लिए SQL

  5. अधिकतम तिथि के आधार पर विशिष्ट रिकॉर्ड कैसे प्राप्त करें?