Come da topic, quali sono le differenze?
ciao e grazie
Come da topic, quali sono le differenze?
ciao e grazie
varchar[(n)]
Dati non Unicode di tipo carattere di lunghezza variabile pari a n caratteri. n deve essere un valore compreso tra 1 e 8.000. Le dimensioni di archiviazione sono pari a n byte. La lunghezza dei dati immessi può essere uguale a 0 caratteri. I sinonimi SQL-92 di varchar sono char varying e character varying.
nvarchar
Dati Unicode di lunghezza variabile non superiore a 4.000 caratteri. sysname è un tipo di dati definito dall'utente fornito dal sistema corrispondente a nvarchar(128) dal punto di vista funzionale e utilizzato per i riferimenti ai nomi di oggetti di database.
Utilizzo dei dati Unicode
Le specifiche dello standard Unicode definiscono un unico schema di codifica per la maggior parte dei caratteri utilizzati in tutto il mondo. Gli schemi di bit dei dati Unicode vengono convertiti in caratteri in qualsiasi computer in base alla stessa specifica Unicode. Ciò garantisce la conversione uniforme di uno schema di bit nello stesso carattere in qualsiasi computer. È possibile trasferire i dati da un database o da un computer all'altro senza alcun rischio che nel sistema ricevente gli schemi di bit vengano convertiti in caratteri in modo non corretto.
Un problema associato ai tipi di dati che utilizzano 1 byte per la codifica di ogni carattere è dovuto dal fatto che il tipo di dati consente di rappresentare solo 256 caratteri diversi. È pertanto necessario utilizzare più specifiche di codifica (o tabelle codici) per alfabeti diversi, ad esempio quelli europei, che sono composti da un numero relativamente ridotto di caratteri. Inoltre non è possibile gestire sistemi quali l'alfabeto giapponese Kanji o coreano Hangul che includono migliaia di caratteri.
A tutte le regole di confronto di Microsoft® SQL Server™ corrisponde una tabella codici che definisce gli schemi di bit rappresentati da ogni carattere dei valori char, varchar e text. Alle singole costanti di colonna e carattere è possibile assegnare una tabella codici diversa. Per interpretare gli schemi di bit, nei computer client viene utilizzata la tabella codici corrispondente al sistema operativo in uso. Sono disponibili numerose tabelle codici. Alcuni caratteri sono inclusi in alcune tabelle codici, ma non in altre oppure vengono definiti con uno schema di bit in alcune tabelle codici e con uno schema diverso in altre. Per lo sviluppo di sistemi internazionali che devono gestire lingue diverse, risulta difficile recuperare le tabelle codici per tutti i computer che soddisfano i requisiti linguistici di più paesi. È inoltre difficile fare in modo che in ogni computer venga eseguita la conversione corretta quando viene interfacciato con un sistema che utilizza una tabella codici diversa.
La specifica Unicode risolve questo problema utilizzando 2 byte per la codifica di ogni carattere. In 2 byte è possibile archiviare schemi diversi (65.536) sufficienti per la gestione della maggior parte delle lingue comunemente utilizzate a livello aziendale. Poiché tutti i sistemi Unicode utilizzano in modo uniforme gli stessi schemi di bit per rappresentare tutti i caratteri, quando si passa da un sistema a un altro non si verifica alcun problema per quanto riguarda la corretta conversione dei caratteri. Per ridurre al minimo i problemi di conversione, è possibile utilizzare i tipi di dati Unicode nell'intero sistema.
Tutti vogliono parlare, nessuno sa ascoltare.