nchar и nvarchar (Transact-SQL)

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

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

Замечания

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

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

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

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

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

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

См. также

Справочник

ALTER TABLE (Transact-SQL)
Функции CAST и CONVERT (Transact-SQL)
COLLATE (Transact-SQL)
CREATE TABLE (Transact-SQL)
Типы данных (Transact-SQL)
DECLARE @local\_variable (Transact-SQL)
DELETE (Transact-SQL)
INSERT (Transact-SQL)
LIKE (Transact-SQL)
SET ANSI_PADDING (Transact-SQL)
SET @local\_variable (Transact-SQL)
sp_dbcmptlevel (Transact-SQL)
UPDATE (Transact-SQL)
Предложение WHERE (Transact-SQL)

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

Преобразование типов данных (компонент Database Engine)
Использование типов данных больших значений
Использование данных в Юникоде
Оценка размера базы данных

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

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