Vous confondez les différents types de personnages et ce qui se passe. Lorsque vous exécutez :
SELECT * from SOME_TABLE where CUSTOMER_NAME = 'Popeye '
Aucun espace n'est ajouté "à chaque ligne de SOME_TABLE". La seule question est la largeur des résultats. Cette largeur est définie par les propriétés des colonnes dans SOME_TABLE, et non par ce qui apparaît dans la clause WHERE.
Si votre CUSTOMER_NAME est déclaré comme une valeur char(x), alors la chaîne doit avoir cette longueur. Dites, c'est char(10)
et vous lui attribuez 'Popeye'. La valeur a six caractères et cela doit être complété à 10, d'une manière ou d'une autre. La norme SQL est de remplir sur le côté droit, ce qui rend la valeur 'Popeye '
.
Si vous voulez des chaînes de longueur variable, utilisez varchar ou varchar2.