Chelou leur truc...
A la base (du moins, c'est ce qu'il y a dans tous les autres SGBD) pour les types INT et autres numériques simples, c'est le nombre de bytes utilisés normalement
Y'a que NUMBER et DECIMAL où ça représente en effet le nombre de caractères sur les autres SGBD
Enfin... Les autres... Je ne connais que SQL SErver et Oracle, c'est un peu réduit, mais bon, vu que c'est un peu les deux fers de lance du marché (avec un peu DB2) on pourrait s'attendre à ce que MySQl ait un peu suivit leur système.
D'autant plus que ça n'a aucun sens, puisque le type INT est vraiment géré comme le type INT du C, c'est à dire que ce chiffre ne va ni influer la taille sur le disque ni sa précision... Alors que pour NUMBER et DECIMAL, ça a un réel sens.
Dans un NUMBER(38), je peux très bien stocker un chiffre de plus de 38 caractères, seulement ma précision va s'arrêter aux 38 premiers caractères (sans perte par contre, contrairement au float qui perd de la précision dès que la valeur est différente de 0)