Anda membingungkan berbagai jenis karakter dan apa yang terjadi. Saat Anda menjalankan:
SELECT * from SOME_TABLE where CUSTOMER_NAME = 'Popeye '
Tidak ada spasi yang ditambahkan "ke setiap baris di SOME_TABLE". Satu-satunya pertanyaan adalah lebar hasil. Lebar ini diatur oleh properti kolom di SOME_TABLE, bukan oleh apa yang muncul di klausa WHERE.
Jika CUSTOMER_NAME Anda dideklarasikan sebagai nilai char(x), maka string harus memiliki panjang tersebut. Katakanlah, ini adalah char(10)
dan Anda menetapkan 'Popeye' untuk itu. Nilainya memiliki enam karakter dan ini harus diisi ke 10, entah bagaimana. Standar SQL adalah pad di sisi kanan, membuat nilai 'Popeye '
.
Jika Anda menginginkan string dengan panjang variabel, gunakan varchar atau varchar2.