Comment définir la taille d'une colonne de type VARCHAR2 à l'affichage d'un requête ?
Prenons pour exemple la requête suivante :
select employee_id, first_name, last_name from employees where rownum < 10;
qui renvoit les lignes suivantes :
1 2 3 4 5 6 7 8 9 10 11
| EMPLOYEE_ID FIRST_NAME LAST_NAME
----------- -------------------- -------------------------
100 Steven King
101 Neena Kochhar
102 Lex De Haan
103 Alexander Hunold
104 Bruce Ernst
105 David Austin
106 Valli Pataballa
107 Diana Lorentz
108 Nancy Greenberg |
Je vais modifier la taille de la colonne first_name pour n'afficher que 8 caractères.
COLUMN first_name FORMAT A8;
Maintenant l'affichage sera :
1 2 3 4 5 6 7 8 9 10 11 12 13
| EMPLOYEE_ID FIRST_NA LAST_NAME
----------- -------- -------------------------
100 Steven King
101 Neena Kochhar
102 Lex De Haan
103 Alexande Hunold
r
104 Bruce Ernst
105 David Austin
106 Valli Pataballa
107 Diana Lorentz
108 Nancy Greenberg |
Explication :
COLUMN first_name : on spécifie que l'on sélectionne la colonne first_name
FORMAT A8 : on définit que l'on souhaite modifier la longueur de la colonne pour ne prendre plus que 8 caractères et renvoyer les autres à la lignes.
On voit que pour l'employé 103, son prénom se trouve maintenant sur 2 ligne car il contient plus de 8 caractères.
Cette fonction est très utile quand on a, par exemple, une colonne de type VARCHAR2(200) et que l'on sait que la longueur maximum que l'on peut trouver dans cette colonne est 50, on va donc spécifier A50 pour éviter d'afficher des espaces superflu à l'affichage de la requête.
On peut aussi spécifier de tronquer la colonne une fois le nombre de caractère afficher au lieu de retourner à la ligne avec le mot TRUNCATE.
Exemple :
COLUMN first_name FORMAT A8 TRUNCATE;
Résultat :
1 2 3 4 5 6 7 8 9 10 11
| EMPLOYEE_ID FIRST_NA LAST_NAME
----------- -------- -------------------------
100 Steven King
101 Neena Kochhar
102 Lex De Haan
103 Alexande Hunold
104 Bruce Ernst
105 David Austin
106 Valli Pataballa
107 Diana Lorentz
108 Nancy Greenberg |
Notez que le prénom de l'employé 103 est tronqué.
Partager