Non, le CHAR(5) stockera toujours 5 caractères. La chaine enregistrée sera complétée par des espaces.
Le VARCHAR lui ne conservera que les caractères enregistrés mais aussi tous les caractères enregistrés.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| CREATE TABLE mon_test
( mon_char CHAR(5)
, mon_varchar VARCHAR(30)
)
;
INSERT INTO mon_test
( mon_char
, mon_varchar
)
VALUES
( '4car'
, '4car'
)
;
INSERT INTO mon_test
( mon_char
, mon_varchar
)
VALUES
( '5car '
, '5car '
)
;
SELECT '[' || mon_char || ']' AS mon_char
, '[' || mon_varchar || ']' AS mon_varchar
FROM mon_test
; |
mon_char mon_varchar
-------- -----------
[4car ] [4car]
[5car ] [5car ]
Partager