nchar и nvarchar (Transact-SQL)

Строковые типы данных, имеющие постоянную длину, nchar или переменную длину nvarchar, содержащие данные в Юникоде и использующие кодировку UCS-2.

  • nchar [ ( n ) ]
    Строковые данные фиксированной длины в Юникоде. Аргумент n определяет длину строки, он должен быть значением от 1 до 4000. Размер при хранении в два раза больше n байт. Если кодовая страница параметров сортировки использует двухбайтовые символы, размер хранения остается равным n байт. В зависимости от строки, размер для хранения в n байт может быть меньше значения, указанного для аргумента n. Синонимами по стандарту ISO для типа nchar являются типы national char и national character.

  • nvarchar [ ( n | max ) ]
    Строковые данные переменной длины в Юникоде. Аргумент n определяет длину строки, он может быть значением в диапазоне от 1 до 4000. max указывает, что максимальный размер для хранения равен 2^31-1 байт (2 ГБ). Размер хранилища в байтах вдвое больше фактической длины введенных данных + 2 байта. Синонимами по стандарту ISO для типа nvarchar являются типы national char varying и national character varying.

Замечания

Если аргумент n не указан в определении данных или инструкции объявления переменной, длина по умолчанию равна 1. Если аргумент n не указан в функции CAST, длина по умолчанию равна 30.

Рекомендуется использовать nchar, если размеры элементов данных в столбцах предполагаются сходные.

Рекомендуется использовать nvarchar, если размеры элементов данных в столбцах предполагаются различные.

Тип sysname — это предоставляемый системой определяемый пользователем тип данных, который функционально эквивалентен типу nvarchar(128), за исключением того, что не допускает значения NULL. Тип sysname используется для ссылок на имена объектов баз данных.

Объектам, в которых используются типы данных nchar или nvarchar, по умолчанию назначаются параметры сортировки базы данных, если только иные параметры сортировки не назначены с использованием предложения COLLATE.

Для типов данных nchar и nvarchar параметр SET ANSI_PADDING всегда принимает значение ON. Параметр SET ANSI_PADDING OFF не применяется к типам данных nchar и nvarchar.

См. также

Справочник

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

Другие ресурсы