Исторически SQL Server использовал отдельный тип данных NVarchar для хранения Unicode, который использует кодировку UTF-16.Для таблиц со сжатием строк и страниц SQL Server использует Сжатие Unicode , поэтому общие символы хранятся с использованием одного байта.Поэтому в настоящее время вы должны преобразовать столбцы в Nvarchar и, возможно, включить сжатие строк в ваших больших таблицах. Сжатие строк недорогое, просто использует хранилище переменной ширины для всех типов данных.
SQL Server 2019 добавляет кодировку UTF-8 для типов Varchar, в основном для созданияэти виды преобразований проще.Это еще не было внедрено в базу данных SQL Azure, но я ожидаю, что это произойдет до выпуска SQL Server 2019.
Таким образом, вы должны просто выбрать совместимое сопоставление базы данных, чтобы строки сортировались и сравнивались аналогично этому сопоставлению MySQL.Беглый взгляд на документы показывает, что SQL_Latin1_General_CP1_CI_AI может быть правильным сопоставлением, так как он не учитывает регистр и акцент.Конечно, вы можете предпочесть сортировку с учетом акцента, которая используется по умолчанию в SQL Server.
EG
CREATE DATABASE MyDatabase
COLLATE SQL_Latin1_General_CP1_CI_AI
(
EDITION = 'Standard',
SERVICE_OBJECTIVE = 'S1'
);
Затем для любого столбца, в котором будут храниться символы, которые не могут быть сохраненыв столбце varchar с этим сопоставлением измените типы данных на NVarchar.
Вот список печатных символов, которые можно сохранить в Varchar (N) с этим сопоставлением.
!,",#,$,%,&;,',(,),*,+,,,-,.,/,0,1,2,3,4,5,6,7,8,9,:,;,<;,=,>;,?,@,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,[,\,],^,_,`,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,{,|,},~,€,‚,ƒ,„,…,†,‡,ˆ,‰,Š,‹,Œ,Ž,,,‘,’,“,”,•,–,—,˜,™,š,›,œ,ž,Ÿ, ,¡,¢,£,¤,¥,¦,§,¨,©,ª,«,¬,,®,¯,°,±,²,³,´,µ,¶,·,¸,¹,º,»,¼,½,¾,¿,À,Á,Â,Ã,Ä,Å,Æ,Ç,È,É,Ê,Ë,Ì,Í,Î,Ï,Ð,Ñ,Ò,Ó,Ô,Õ,Ö,×,Ø,Ù,Ú,Û,Ü,Ý,Þ,ß,à,á,â,ã,ä,å,æ,ç,è,é,ê,ë,ì,í,î,ï,ð,ñ,ò,ó,ô,õ,ö,÷,ø,ù,ú,û,ü,ý,þ,ÿ
Если вы в основном используете другой язык, вы можете выбрать другой порядок сортировки, который будет иметь разные правила сравнения и сортировки и может хранить другое подмножество символов Юникода в столбце Varchar.