La détermination de type Nvarchar longueur
J'ai lu tous sur varchar contre nvarchar. Mais je n'ai pas de réponse à ce que je pense est une question simple. Comment voulez-vous déterminer la longueur de votre colonne nvarchar? Pour varchar c'est très simple: ma Description, par exemple, peut avoir 100 caractères, j'ai donc définir varchar(100). Maintenant, je me dit que nous avons besoin de s'internationaliser et de soutenir n'importe quelle langue. Est-ce à dire j'ai besoin de changer ma Description de la colonne type de données nvarchar(200), c'est à dire tout simplement le double de la longueur? (Et je suis en ignorant toutes les autres questions qui sont impliqués avec l'internationalisation pour le moment).
Est-il simple?
OriginalL'auteur Kane Jeeves | 2014-01-21
Vous devez vous connecter pour publier un commentaire.
Généralement, c'est le même que pour
varchar
vraiment. Le nombre est toujours le nombre maximum de caractères qui ne sont pas la longueur des données.nvarchar(100)
permet 100 caractères (ce qui serait potentiellement consommer 200 octets dans SQL Server).Vous voudrez peut-être accepter le fait que les différentes cultures peuvent prendre plus de caractères pour exprimer la même chose.
Une exception à cette règle est toutefois, si vous utilisez un
SC
classement (qui prend en charge les caractères supplémentaires). Dans ce cas, un seul caractère peut prendre jusqu'à 4 octets.Tellement pire des cas serait de doubler le personnage de la valeur déclarée.
Ce qui est mauvais. Facile à tester vous-même!
DECLARE @T TABLE (C NVARCHAR(5)); INSERT INTO @T VALUES ('Wrong');SELECT C, DATALENGTH(C) FROM @T
. Avez-vous un lien?Génial, merci. Aussi le prouve, que vous ne pouvez pas toujours faire confiance que quelqu'un avec une certification est toujours à droite.
Nouvelle pour moi aussi, juste trouvé sur google. Apparemment, c'est un classement de chose où vous utilisez
_SC
sur un classement windows.d'état a eu 6 caractères non 5.
OriginalL'auteur Martin Smith
Vous pouvez obtenir la réponse à une simple expérience, par l'exécution du code ci-dessous.
OriginalL'auteur Zheng Yiong Lai