nchar e nvarchar (Transact-SQL)

Tipi di dati carattere che rappresentano dati UNICODE a lunghezza fissa (nchar) o variabile (nvarchar) e utilizzano il set di caratteri UNICODE UCS-2.

  • nchar [ ( n ) ]
    Dati Unicode di tipo carattere a lunghezza fissa contenenti n caratteri, dove n deve essere un valore compreso tra 1 e 4.000. Le dimensioni di archiviazione sono pari al doppio di n byte. I sinonimi di ISO per il tipo di dati nchar sono national char e national character.

  • nvarchar [ ( n | max ) ]
    Dati Unicode di tipo carattere a lunghezza variabile. n può essere un valore compreso tra 1 e 4.000. max indica che la dimensione di archiviazione massima è pari a 2^31-1 byte. Le dimensioni di archiviazione, espresse in byte, sono pari al doppio del numero di caratteri immessi + 2 byte. La lunghezza dei dati immessi può essere uguale a 0 caratteri. I sinonimi di ISO per il tipo di dati nvarchar sono national char varying e national character varying.

Osservazioni

Se n non viene specificato nelle istruzioni di definizione dei dati o di dichiarazione delle variabili, la lunghezza predefinita è 1. Se nelle funzioni CAST n viene omesso, 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 ai 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.