Stai confondendo i diversi tipi di personaggi e cosa sta succedendo. Quando esegui:
SELECT * from SOME_TABLE where CUSTOMER_NAME = 'Popeye '
Nessuno spazio viene aggiunto "a ogni riga in SOME_TABLE". L'unica domanda è l'ampiezza dei risultati. Questa larghezza è impostata dalle proprietà delle colonne in SOME_TABLE, non da ciò che appare nella clausola WHERE.
Se il tuo CUSTOMER_NAME è dichiarato come valore char(x), la stringa deve avere quella lunghezza. Diciamo che è char(10)
e gli assegni 'Popeye'. Il valore ha sei caratteri e questo deve essere riempito a 10, in qualche modo. Lo standard SQL prevede il riempimento sul lato destro, creando il valore 'Popeye '
.
Se vuoi stringhe di lunghezza variabile, usa varchar o varchar2.