Поделиться через


Дополнительные символы

Изменения: 12 декабря 2006 г.

Для преобразования символов Юникода в двоичный формат SQL Server 2005 пользуется схемой кодирования UCS-2. В некоторых языках, например в китайском, существует необходимость определения дополнительных, редко используемых и не включенных в стандарт Юникода символов. UCS-2 хранит эти добавочные символы в виде двух добавочных символов Юникода, совместно определяющих один дополнительный символ. Таким образом, в SQL Server дополнительные символы хранятся без риска потери или искажения. SQL Server 2005 позволяет использовать и отображать дополнительные символы в любом приложении на базе SQL Server, включая средства (например, в бизнес-аналитике).

При использовании редактора редактор метода ввода Майкрософт для Windows Vista или Microsoft Office 2007 дополнительные символы представляются в виде элементов кода UCS с номерами U+10000 и выше.

На использование добавочных символов налагаются следующие ограничения.

  • Они могут применяться в операциях сортировки и сравнения только в параметрах сортировки версии 90. При этом сравнение основывается только на элементах кода, а не на каких-либо лингвистических методиках. Будьте внимательны при использовании добавочных символов в операциях ORDER BY, GROUP BY и DISTINCT, особенно если в одной операции участвуют и добавочные, и обычные символы. Параметры сортировки версии 90 обозначаются суффиксом «90», добавляемым к их именам. Например, вместо параметра сортировки «Japanese» указывайте «Japanese_90». Дополнительные сведения см. в разделе Настройка параметров сортировки в программе установки.
  • Поскольку добавочные символы хранятся в виде пар двухбайтовых символов, функция LEN() возвращает значение 2 для каждого из добавочных символов, содержащихся в строке аргумента. Функции CHARINDEX и PATINDEX также неправильно определяют позицию вхождения, если в строке содержатся добавочные символы, а функция NCHAR возвращает символ, представляющий первую половину добавочного символа. Преобразование значения типа binary или varbinary в добавочный символ также дает в результате только половину добавочного символа.
  • Функции LEFT, RIGHT, SUBSTRING, STUFF и REVERSE могут разорвать добавочный символ на два обычных, что может привести к непредвиденным результатам.
  • Не поддерживается применение добавочных символов с символами-шаблонами: подчеркиванием (_), пробелом ( ) и символом крышки (^).
  • Они также не поддерживаются в метаданных (например в именах объектов базы данных).
  • Из-за уникального механизма хранения присутствие добавочных символов может повысить потребление ресурсов при обновлении версии сервера и базы данных.

В составе SQL Server 2005 поставляется образец, демонстрирующий обработку строки с добавочными символами в функции CLR. Дополнительные сведения см. в разделе Операции над строками с учетом дополнений.

См. также

Основные понятия

Работа со специальными кодировками

Справка и поддержка

Получение помощи по SQL Server 2005

Журнал изменений

Версия Журнал

12 декабря 2006 г.

Новое содержимое
  • Разъясняет, как определить, является ли символ добавочным.