Du forvirrer de forskellige typer karakterer og hvad der sker. Når du udfører:
SELECT * from SOME_TABLE where CUSTOMER_NAME = 'Popeye '
Der tilføjes ingen mellemrum "til hver række i SOME_TABLE". Det eneste spørgsmål er bredden af resultaterne. Denne bredde er indstillet af egenskaberne for kolonnerne i SOME_TABLE, ikke af det, der vises i WHERE-sætningen.
Hvis din CUSTOMER_NAME er erklæret som en char(x)-værdi, skal strengen have den længde. Lad os sige, det er char(10)
og du tildeler 'Popeye' til det. Værdien har seks tegn, og denne skal på en eller anden måde udfyldes til 10. SQL-standarden skal udfyldes på højre side, hvilket gør værdien 'Popeye '
.
Hvis du vil have strenge med variabel længde, så brug varchar eller varchar2.