varchar

Eléphant du PHP | 110 Messages

16 mars 2007, 21:40

salut, je me pose une question, j'ai lu la doc mais j'ai du mal a comprendre comment fonctionne la variable varchar.
On écrit nchar(n) ou n est le nombre de caracteres maximum et la place en memeoire sera toujours de n.
Par contre j'ai lu que la place en memoire occupee par nvarchar(n) etait dynamique et s'adaptait au nombre de caracteres.
d'ou ma question, a quoi sert le n dans nvarchar(n) et est il indispensable?

merci!

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

16 mars 2007, 23:55

Euhhh...
tu parles bien de PHP là?
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 110 Messages

17 mars 2007, 00:36

pardon j'aurais du poster dans la partie sur sql

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

17 mars 2007, 01:47

Le n du varchar est la longueur maximale de la chaîne que pourra contenir la colonne

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

17 mars 2007, 01:50

Modération :
Afin d'obtenir plus de réponses, le sujet est déplacé dans le forum "SQL & Bases de données".


Pis pour répondre à ta question, le (n) sert comme tu le disais à fixer la taille maximale de ta chaine. Pour un char, la chaine sera complétée par des espaces (donc sera toujours égale à sa taille max) et pour un varchar, la taille sera fonction du contenu.
L'intérêt de fixer cette valeur est principallement dans l'intégrité du contenu : tu peux ainsi empêcher d'avoir 2000 caractères dans un champ destiné à un numéro de téléphone...

Y a peut être d'autres raison, mais à cette heure avancée de la nuit, c'est la première qui me vient ;)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 110 Messages

17 mars 2007, 13:58

merci bien
donc le n est obligatoire?
il me semblait qu'avec oracle on pouvait declarer un varchar sans taille max mais je sais plus bien.