nchar e nvarchar (Transact-SQL)
Tipi di dati character che rappresentano dati UNICODE a lunghezza fissa (nchar) o variabile (nvarchar) e in cui viene utilizzato il set di caratteri UNICODE UCS-2.
Si applica a: SQL Server (SQL Server 2008 tramite versione corrente), Database SQL di Windows Azure (versione iniziale tramite versione corrente). |
Argomenti
nchar [ ( n ) ]
Dati di tipo string a lunghezza fissa Unicode. Il parametro n consente di definire la lunghezza della stringa e deve essere un valore compreso tra 1 e 4.000. Le dimensioni dello spazio di archiviazione, espresse in byte, sono pari al doppio di n. Quando la tabella codici delle regole di confronto utilizza caratteri a doppio byte, le dimensioni di archiviazione risultano comunque pari a n byte. A seconda della stringa, le dimensioni di archiviazione di n byte possono essere inferiori al valore specificato per n. I sinonimi di ISO per il tipo di dati nchar sono national char e national character..nvarchar [ ( n | max ) ]
Dati di tipo string a lunghezza variabile Unicode. Il parametro n consente di definire la lunghezza della stringa e può essere un valore compreso tra 1 e 4.000. Tramite max viene indicato che la capacità di memorizzazione massima è di 2^31-1 byte (2 GB). Le dimensioni di archiviazione, espresse in byte, sono pari al doppio della lunghezza effettiva dei dati immessi + 2 byte. I sinonimi di ISO per il tipo di dati nvarchar sono national char varying e national character varying.
Osservazioni
Se n non viene specificato in un'istruzione di definizione dei dati o di dichiarazione di variabili, la lunghezza predefinita è 1. Se n non è specificato tramite la funzione CAST, la lunghezza predefinita è 30.
Utilizzare nchar se le dimensioni delle voci della colonna sono pressoché simili.
Utilizzare nvarchar se le dimensioni delle voci della colonna variano in modo considerevole.
sysname è un tipo di dati di sistema definito dall'utente equivalente dal punto di vista funzionale a nvarchar(128), anche se non ammette valori Null. sysname viene utilizzato per fare riferimento a nomi di oggetti di database.
Agli oggetti in cui è utilizzato il tipo di dati nchar o nvarchar vengono assegnate le regole di confronto predefinite del database, a meno che non vengano assegnate regole di confronto specifiche tramite la clausola COLLATE.
Per i tipi di dati nchar e nvarchar l'opzione SET ANSI_PADDING è sempre impostata su ON. L'opzione SET ANSI_PADDING OFF non è valida per i tipi di dati nchar o nvarchar.
Anteporre alle costanti stringa di caratteri Unicode la lettera N. Senza il prefisso N, la stringa viene convertita nella tabella codici predefinita del database. La tabella codici predefinita potrebbe non riconoscere certi caratteri.
Conversione dei dati di tipo carattere
Per informazioni sulla conversione dei dati di tipo carattere, vedere char and varchar (Transact-SQL).
Esempi
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;
Set di risultati:
MyNCharColumn MyNVarCharColumn
--------------- --------------------
Test data More test data
(1 row(s) affected)
Vedere anche
Riferimento
DECLARE @local\_variable (Transact-SQL)
SET ANSI_PADDING (Transact-SQL)
SET @local\_variable (Transact-SQL)