Around and About .NET World

Il blog di Marco Minerva
posts - 1611, comments - 2153, trackbacks - 2144

My Links

News


Curriculum Vitae (ITA)

Curriculum Vitae (ENG)

Contattami su Live Messenger:


MCTS: Windows, Web, Distributed Applications & SQL Server

MCPD: Enterprise Applications

Tag Cloud

Archives

Post Categories

Links

[70-431] I tipi di dato varchar e nvarchar di SQL Server 2005

Per quanto io abbia promesso che mi sarei limitato con gli errata corrige dei testi Microsoft, ho appena trovato un errore nel Self-Paced Training Kit per l'esame 70-431 che merita di essere segnalato, data la sua gravità. A pagina 113 si dice che, quando si dichiara un tipo di dati char, varchar, nchar oppure nvarchar, il valore indicato tra parentesi rappresenta il numero di byte utilizzati: di conseguenza, nel caso dei tipi Unicode, il numero di caratteri effettivamente memorizzabili equivale alla metà del numero indicato, dato che in Unicode ogni carattere è rappresentato da due byte. In realtà non è così. Infatti, come si legge su MSDN (prendo il caso dei tipi di dato a lunghezza fissa):

char [ ( n ) ]  Fixed-length, non-Unicode character data with a length of n bytes.

nchar [ ( n ) ] Fixed-length Unicode character data of n characters.  

Dunque, quando si usa nchar (o, analogamente, nvarchar), quello che si specifica è il numero massimo di caratteri, non di byte. Forse l'errore è nato dal fatto che MSDN, per i tipi ANSI, parla di byte, mentre per quelli Unicode fa riferimento ai caratteri. Per essere più coerenti si potrebbe parlare di caratteri anche nel caso di char e varchar, dal momento che, in questi tipi di dato, ogni byte è espresso esattamente con un carattere.

Technorati Tags: ,

Print | posted on mercoledì 26 marzo 2008 11.58 | Filed Under [ Certificazioni SQL Server ]

Feedback

Gravatar

# re: [70-431] I tipi di dato varchar e nvarchar di SQL Server 2005

L'avevo notato anch'io, e devo ammettere che c'ero quasi cascato. Fortuna che c'è MSDN... ;-)
26/03/2008 12.37 | Alberto Dallagiacoma
Gravatar

# re: [70-431] I tipi di dato varchar e nvarchar di SQL Server 2005

Ottima precisazione, è sempre utile semplificare e fare in modo che non si generi confusione.
26/03/2008 13.56 | Omar Damiani
Gravatar

# re: [70-431] I tipi di dato varchar e nvarchar di SQL Server 2005

Anche io ho cominciato a studiare per l'esame di certificazione, ho trovato questo link:

http://support.microsoft.com/kb/920926/en-us

Grazie per queste segnalazioni ! ;-)

26/03/2008 22.19 | Francesco
Gravatar

# re: [70-431] I tipi di dato varchar e nvarchar di SQL Server 2005

ho un problema quando copio i dati di una tabella excel.
se il valore è numerico ma la cella è testo non mi copia il valore su sql server.
forse perchè il campo è: nvarchar(9) ??
22/06/2009 20.12 | dom
Comments have been closed on this topic.

Powered by: