Compartir a través de


nchar y nvarchar (Transact-SQL)

Tipos de datos de caracteres para datos Unicode de longitud fija, nchar, o de longitud variable, nvarchar, y que usan el juego de caracteres UNICODE UCS-2.

Se aplica a: SQL Server (SQL Server 2008 a versión actual), Windows Azure SQL Database (Versión inicial a versión actual).

Argumentos

  • nchar [ ( n ) ]
    Datos de cadena Unicode de longitud fija. n define la longitud de la cadena y debe ser un valor entre 1 y 4.000. El tamaño de almacenamiento es dos veces n bytes. Si la página de códigos de la intercalación utiliza caracteres de doble byte, el tamaño de almacenamiento sigue siendo de n bytes. Dependiendo de la cadena, el tamaño de almacenamiento de n bytes puede ser inferior al valor especificado para n. Los sinónimos ISO de nchar son national char y national character..

  • nvarchar [ ( n | max ) ]
    Datos de cadena Unicode de longitud variable. n define la longitud de la cadena y puede ser un valor entre 1 y 4.000. max indica que el tamaño máximo de almacenamiento es de 2^31-1 bytes (2 GB). El tamaño de almacenamiento, en bytes, es dos veces la longitud real de los datos especificados + 2 bytes. Los sinónimos ISO de nvarchar son national char varying y national character varying.

Comentarios

Cuando no se especifica n en una instrucción de definición de datos o declaración de variable, la longitud predeterminada es 1. Cuando no se especifica n con la función CAST, la longitud predeterminada es 30.

Use nchar cuando sea probable que el tamaño de las entradas de datos de las columnas sea similar.

Use nvarchar cuando sea probable que el tamaño de las entradas de datos de las columnas varíe.

sysname es un tipo de datos definido por el usuario y suministrado por el sistema que es funcionalmente equivalente a nvarchar(128), excepto que no acepta valores NULL. sysname se usa para hacer referencia a nombres de objetos de base de datos.

Los objetos que utilizan nchar o nvarchar se asignan a la intercalación predeterminada de la base de datos, a menos que se asigne una intercalación específica por medio de la cláusula COLLATE.

SET ANSI_PADDING siempre es ON para nchar y nvarchar. SET ANSI_PADDING OFF no se aplica a los tipos de datos nchar ni nvarchar.

Agregar el prefijo N a las constantes de cadenas de caracteres Unicode. Sin el prefijo N, la cadena se convierte a la página de códigos predeterminada de la base de datos. Esta página de códigos predeterminada puede no reconocer determinados caracteres.

Convertir datos de caracteres

Para obtener información acerca de cómo convertir datos de caracteres, vea char y varchar (Transact-SQL).

Ejemplos

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;

El conjunto de resultados es el siguiente.

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

(1 row(s) affected)

Vea también

Referencia

ALTER TABLE (Transact-SQL)

CAST y CONVERT (Transact-SQL)

COLLATE (Transact-SQL)

CREATE TABLE (SQL Server)

Tipos de datos (Transact-SQL)

DECLARE @local\_variable (Transact-SQL)

LIKE (Transact-SQL)

SET ANSI_PADDING (Transact-SQL)

SET @local\_variable (Transact-SQL)

Conceptos

Compatibilidad con la intercalación y Unicode