Compartilhar via


nchar e nvarchar (Transact-SQL)

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

Aplica-se a: SQL Server (SQL Server 2008 até a versão atual), Banco de dados SQL do Windows Azure (versão inicial até a versão atual).

Argumentos

  • 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 do 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 que o tamanho de armazenamento máximo é 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.

Prefixe as constantes da cadeia de caracteres Unicode com a letra N. Sem o prefixo N, a cadeia de caracteres é convertida para a página de código padrão do banco de dados. Essa página de código padrão pode não reconhecer certos caracteres.

Convertendo dados character

Para obter mais informações sobre a conversão dados de caracteres, consulte char e varchar (Transact-SQL).

Exemplos

CREATE TABLE dbo.MyTable
(
  MyNCharColumn nchar(15)
 ,MyNVarCharColumn nvarchar(20)
  
);


GO
INSERT INTO dbo.MyTable VALUES (N'Test data', N'More test data');
GO
SELECT MyNCharColumn, MyNVarCharColumn
FROM dbo.MyTable;

Aqui está o conjunto de resultados.

MyNCharColumn   MyNVarCharColumn
--------------- --------------------
Test data       More test data

(1 row(s) affected)

Consulte também

Referência

ALTER TABLE (Transact-SQL)

CAST e CONVERT (Transact-SQL)

COLLATE (Transact-SQL)

CREATE TABLE (SQL Server)

Tipos de dados (Transact-SQL)

DECLARE @local\_variable (Transact-SQL)

LIKE (Transact-SQL)

SET ANSI_PADDING (Transact-SQL)

SET @local\_variable (Transact-SQL)

Conceitos

Suporte a agrupamentos e a Unicode