Differenza tra Varchar e Nvarchar

Varchar vs Nvarchar
 

La differenza tra varchar e nvarchar indica come i dati sono memorizzati in un database. Un sistema di database è costituito da dati e dati sono definiti da tipi di dati. Un tipo di dati indica quale tipo di valore può contenere una colonna. Ogni colonna in una tabella di database deve avere un nome e un tipo di dati. Oggi ci sono molti tipi di dati disponibili nella progettazione del database. Da questi tipi di dati, varchar e nvarchar vengono utilizzati per memorizzare caratteri di stringa. Varchar e Nvarchar sembrano essere intercambiabili. Ma questi due tipi hanno diversi vantaggi e sono usati per scopi diversi.

Cos'è Varchar?

Come suggerisce il nome, varchar è un carattere variabile o variabile char. La sintassi di varchar è VARCHAR [(n | max)]. Varchar memorizza i dati ASCII che sono dati non Unicode, ed è il tipo di dati che vengono utilizzati nell'uso normale. Varchar utilizza un byte per carattere. Memorizza anche la lunghezza di ogni stringa nel database. Varchar ha una lunghezza di dati variabile e può memorizzare un massimo di 8000 caratteri non Unicode. Questo tipo di dati è molto flessibile e accetta i più diversi tipi di dati. Varchar non consente di memorizzare caratteri vuoti per le parti non utilizzate della stringa. La dimensione massima di archiviazione di varchar è 2 GB e la dimensione reale dei dati di archiviazione è la lunghezza effettiva dei dati più due byte. Sebbene varchar sia più lento del char, utilizza l'allocazione dinamica della memoria. Non solo le stringhe, ma anche i tipi non string come i tipi di data, "14 febbraio", "12/11/2014" possono anche essere memorizzati nel tipo di dati varchar.

Cos'è Nvarchar?

Nvarchar suggerisce a carattere nazionale diverso o un carattere variabile nazionale. La sintassi di nvarchar è NVARCHAR [(n | max)]. Nvarchar può memorizzare diversi tipi di dati con una lunghezza variabile. Sono dati Unicode e dati e lingue multilingue con caratteri a doppio byte in cinese. Nvarchar utilizza 2 byte per carattere e può memorizzare un limite massimo di 4000 caratteri e una lunghezza massima di 2 GB. Nvarchar considera "" come stringa vuota e lunghezza di carattere zero. Le dimensioni dell'archiviazione sono il doppio del numero di dimensioni dei caratteri più due byte. In nvarchar, gli spazi finali non vengono rimossi quando il valore viene archiviato e ricevuto.

Qual è la differenza tra Varchar e Nvarchar?

La differenza chiave tra varchar e nvarchar indica come i dati sono memorizzati in un database.

• Varchar memorizza i valori ASCII e nvarchar memorizza i caratteri Unicode.

• Varchar utilizza un byte per carattere mentre nvarchar utilizza due byte per carattere.

• Varchar [(n)] memorizza caratteri non Unicode con lunghezza variabile e Nvarchar [(n)] memorizza caratteri Unicode con lunghezza variabile.

• Varchar può memorizzare un massimo di 8000 caratteri non Unicode e nvarchar memorizza un massimo di 4000 caratteri Unicode o non Unicode.

• Varchar è preferibile da utilizzare in luoghi in cui sono presenti variabili con caratteri non Unicode. Nvarchar è usato in luoghi dove sono varibles con caratteri Unicode.

• La dimensione di archiviazione di varchar è il numero di byte uguale al numero di caratteri più due byte che è riservato per l'offset. Nvarchar utilizza il numero di byte uguale al doppio del numero di caratteri più due byte che è riservato per l'offset.

• Tutti i moderni sistemi operativi e piattaforme di sviluppo utilizzano internamente Unicode. Pertanto, nvarchar è molto utilizzato piuttosto che varchar per evitare la conversione dei tipi di dati.

Sommario:

Nvarchar vs Varchar

Varchar e nvarchar sono tipi di dati di lunghezza variabile che utilizziamo per memorizzare diversi tipi di stringhe. Questi tipi di dati sono utili nei moderni sistemi operativi. Queste varietà di tipi di dati evitano la conversione dei dati da un tipo all'altro secondo i sistemi operativi. Pertanto, varchar e nvarchar aiutano il programmatore a identificare stringhe Unicode e non Unicode senza troppe difficoltà. Questi due tipi di dati sono molto utili nella programmazione.

Immagini per gentile concessione:

  1. Varchar di Caius Durling (CC BY 2.0)