Taille champs

De knowledge
Révision datée du 27 février 2025 à 22:13 par Jpinon (discussion | contributions) (Page créée avec « == 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 (... »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
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!