Différence de clé: dans les systèmes de base de données tels que SQL Server, Char et Varchar sont tous deux des types de données, char étant en fait un caractère et Varchar, un caractère variable. Ils sont tous deux utilisés pour stocker le type chaîne de valeurs d'une longueur maximale de 8 000 caractères. La taille de stockage de char est identique à celle déclarée, tandis que la sixième étape de Varchar dépend des octets des données réellement saisies.
Prenons un exemple - si une donnée Char est déclarée de la manière suivante: déclarer le test Char (20), et test = "testing", le test occupera les 7 premiers octets et le reste sera rempli de données vierges. Par ailleurs, si une donnée Varchar est déclarée de la manière suivante: déclarer le test Varchar (20) et test = «testing», elle n’occupera que 7 + 2 octets.
Char devrait être utilisé lorsque la longueur de la variable est connue, alors que Varchar ne devrait être utilisé que lorsque la longueur est inconnue. Char est plus rapide que Varchar, car le système Varchar met un certain temps à détecter le temps nécessaire pour connaître la fin de la chaîne. Par contre, ce temps n'est pas perdu en Char.
Comparaison entre Char et Varchar:
Carboniser | Varchar | |
Formulaire complet | Personnage | Caractère variable (dans le contexte d'un caractère de longueur variable) |
Sens | Utilisé pour stocker des données de chaîne non Unicode de longueur fixe | Utilisé pour stocker des données de chaîne non Unicode de longueur variable |
Octets utilisés pour le stockage | 1 octet par caractère | 1 octet par caractère et 1 ou 2 octets supplémentaires pour les informations de longueur |
Application | Utilisé pour stocker des données telles que le numéro de téléphone, etc. (les entrées de données sont cohérentes.) | Utilisé pour stocker des données telles que l'adresse (les entrées de données varient considérablement) |
Condition: chaîne d'entrée inférieure aux octets déclarés | L'espace sans aucun caractère sera rempli avec des caractères d'espacement | L'espace sans aucun caractère ne sera complété par aucun des caractères |
Condition: chaîne d'entrée supérieure aux octets déclarés | La chaîne sera tronquée en octets déclarés | La chaîne sera tronquée en octets déclarés. |