..ist mir jetzt noch aufgefallen, dass die CHAR(30) genau 30 Zeichen lang sind, da wird aber keine weiteren Chars angehängt wie oben beschrieben...
Da wird nichts angehangen. CHAR (30) heisst : 30 Zeichen. VARCHAR (30) heisst : 30 Zeichen.
D.h. bei 3 Zeichen und Definition von 30 als Feldlänge werden 27 Leerzeichen aufgefüllt (bei CHAR). Der Unterschied ist eben : CHAR belegt, ob nötig oder nicht die 30 Zeichen. VARCHAR nur soviel wie nötig ist (in dem Fall also nur 3). Letzteres bedeutet einen zusätzlichen Rechenaufwand (hin und her-Rechnerei, wenn sich die Länge ändert...), ersteres einen höheren Speicherplatzbedarf auf der Platte. Ich tendiere mittlerweile etwas mehr zu VARCHAR, denn meistens werden die Felder gar nicht richtig ausgenutzt.