0
votes

Comment les données avec Nvarparar [N] sont-elles stockées?

Si je crée une table comme celle-ci xxx

fait car_name avoir un maximum de 50 caractères?

dise que je donne une entrée comme celle-ci xxx

(60 caractères), sera-t-il stocké comme xxx

(50 caractères)? Quelqu'un peut il m'aider avec ça? Merci beaucoup


0 commentaires

3 Réponses :


3
votes

Si vous essayez d'insérer ou de mettre à jour une valeur supérieure à la longueur de la colonne par une requête ou une structure d'entité, vous obtiendrez une erreur:

chaîne ou données binaires serait tronquée

Si vous utilisez une procédure stockée, la troncature sera effectuée automatiquement et aucune erreur ne se produira.


3 commentaires

Merci Monsieur. Y a-t-il une situation que ce qui précède peut arriver? Je teste un projet .NET et chaque entrée qui transmet la limite maximale de caractères est stockée comme ci-dessus.


Si vous utilisez les procédures stockées, le tronquage sera effectué automatiquement et aucune erreur ne se produira.


Je ne voulais pas utiliser de procédures stockées pour la longueur de la saisie de contrôle, la validation doit certainement être effectuée au niveau de l'application.Si nous avons utilisé des procédures stockées pour insérer des données et envoyer à tort une valeur supérieure à la longueur du paramètre IT, il n'y aurait aucune erreur et La troncature serait utilisée automatiquement.



0
votes

Les informations ne sont pas insérées, cela vous donne une erreur

chaîne ou données binaires serait tronqué


1 commentaires

Merci Monsieur. Y a-t-il une situation que ce qui précède peut arriver? Je teste un projet .NET et chaque entrée qui transmet la limite maximale de caractères est stockée comme ci-dessus.



0
votes

La façon dont je vois que votre message soulève deux questions et donc deux réponses.

1. Comment nvarchar stocké?

Type de données NvarchaRar stockera 2 octets par caractère, tandis que varchar seulement 1 octet.

2. Est-ce que mon nvarchar accepte plus de caractères que le maximum autorisé?

non. L'instruction Insérer échouera et vous obtiendrez une erreur car elle n'accepte que <= 50 caractères.


1 commentaires

Merci Monsieur. Y a-t-il une situation que ce qui précède peut arriver? Je teste un projet .NET et chaque entrée qui transmet la limite maximale de caractères est stockée comme ci-dessus.