Taille champs
Aller à la navigation
Aller à la recherche
Taille d'un champ dans une table
Methode par l'exemple
On demande a Oracle le "dump" d'une valeur du type en question:
SELECT dump(x) FROM (SELECT 123456789123456.12 x FROM dual);
pour avoir la taille d'un numeric (15,2)
Typ=2 Len=10: 200,2,24,46,68,90,13,35,57,13
Taille = 10 octets puis suit la liste des valeurs des 10 octets représentants le chiffre 123456789123456.12.===
Sur une colonne existante
On veut connaître la taille (maximale) de la colonne "NCOL" de la table "NTAB".
select DATA_LENGTH from all_tab_columns where table_name='NTAB' and COLUMN_NAME='NCOL';
Calcul théorique
En fait, puisque la taille est variable on calcule la taille "approximative" on peut l'évaluer par:
bytes = ROUND((num_digits/2) + .5), 0) + 1
Dans le case du nombre 123456789123456.12 (17 digits) on obtient aussi 10!