nchar e nvarchar (Transact-SQL)

Os tipos de dados de cadeia de caracteres que são dados Unicode de comprimento fixo, nchar, ou de comprimento variável, nvarchar, e usam o conjunto de caracteres UNICODE UCS-2.

  • nchar [ ( n ) ]
    Dados de cadeia de caracteres Unicode de comprimento fixo. n define o comprimento da cadeia de caracteres e deve ser um valor de 1 a 4.000. O tamanho de armazenamento é duas vezes n bytes. Quando a página de código de agrupamento usar caracteres de dois bytes, o tamanho de armazenamento ainda será n bytes. Dependendo da cadeia de caracteres, o tamanho de armazenamento de n bytes pode ser inferior ao valor especificado para n. Os sinônimos ISO para nchar são national char e national character.

  • nvarchar [ ( n | max ) ]
    Dados de cadeia de caracteres Unicode de comprimento variável. n define o comprimento da cadeia de caracteres e pode ser um valor de 1 a 4.000. max indica o tamanho máximo de armazenamento, que é 2^31-1 bytes (2 GB). O tamanho de armazenamento, em bytes, é duas vezes o comprimento real dos dados digitados + 2 bytes. Os sinônimos ISO para nvarchar são national char varying e national character varying.

Comentários

Quando n não é especificado em uma definição de dados ou instrução de declaração de variável, o comprimento padrão é 1. Quando n não é especificado com a função CAST, o comprimento padrão é 30.

Use nchar quando os tamanhos das entradas de dados de coluna provavelmente serão similares.

Use nvarchar quando os tamanhos das entradas de dados de coluna provavelmente irão variar consideravelmente.

sysname é um tipo de dados definido pelo usuário e fornecido pelo sistema que é funcionalmente equivalente a nvarchar(128), com exceção de que não permite valor nulo. sysname é usado para fazer referência a nomes de objetos de banco de dados.

Os objetos que usam nchar ou nvarchar recebem o agrupamento padrão do banco de dados, a menos que um agrupamento específico seja atribuído com o uso da cláusula COLLATE.

SET ANSI_PADDING é sempre ON para nchar e nvarchar. SET ANSI_PADDING OFF não se aplica aos tipos de dados nchar ou nvarchar.