Je verwart de verschillende soorten karakters en wat er gebeurt. Wanneer u uitvoert:
SELECT * from SOME_TABLE where CUSTOMER_NAME = 'Popeye '
Er worden geen spaties toegevoegd "aan elke rij in SOME_TABLE". De enige vraag is de breedte van de resultaten. Deze breedte wordt bepaald door de eigenschappen van de kolommen in SOME_TABLE, niet door wat wordt weergegeven in de WHERE-component.
Als uw CUSTOMER_NAME is gedeclareerd als een char(x)-waarde, moet de tekenreeks die lengte hebben. Zeg, het is char(10)
en je wijst er 'Popeye' aan toe. De waarde heeft zes tekens en dit moet op de een of andere manier worden opgevuld tot 10. De SQL-standaard is om aan de rechterkant op te vullen, waardoor de waarde 'Popeye '
.
Als je strings van variabele lengte wilt, gebruik dan varchar of varchar2.