2010-03-15 10 views

risposta

36

indica un "nazionalizzato" stringa unicode anche noto come costante.

http://support.microsoft.com/kb/239530

Quando si tratta di costanti stringa Unicode in SQL Server è necessario far precedere tutte le stringhe Unicode con una lettera maiuscola N, come documentato nell'argomento linea di SQL Server "Uso di Unicode dati".

http://msdn.microsoft.com/en-us/library/aa276823%28SQL.80%29.aspx

nchar e nvarchar

tipi di caratteri di dati che sono o lunghezza fissa (nchar) o di lunghezza variabile (nvarchar) dati Unicode e utilizza il set di caratteri UNICODE UCS-2 .

nchar(n)

lunghezza fissa i dati dei caratteri Unicode di n caratteri. n deve essere un valore compreso tra 1 e 4.000. La dimensione di archiviazione è due volte n byte. I sinonimi SQL-92 per nchar sono caratteri nazionali e nazionali.

nvarchar(n)

lunghezza variabile dati carattere Unicode di n caratteri. n deve essere un valore compreso tra 1 e 4.000. La dimensione di archiviazione, espressa in byte, è due volte il numero di caratteri immessi. I dati inseriti possono avere una lunghezza di 0 caratteri. I sinonimi SQL-92 per nvarchar sono nazionali con caratteri variabili e con carattere nazionale variabile.

+1

Questo è interessante. Mi sono sempre chiesto perché 'N' significasse 'Unicode', e perché non usassero semplicemente 'U' – JohnFx

+0

@JohnFx: solo un'ipotesi, ma scommetterei che "U" storicamente significava senza firma. –

+6

Il testo nazionalizzato era nello standard SQL92 prima dell'esistenza di unicode. –