Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

SQL - Mengapa memberi spasi saat membandingkan karakter?

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.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana menghubungkan ke database Oracle 11 dari . bersih

  2. Permintaan SQL untuk mengembalikan baris meskipun tidak ditemukan, dengan setidaknya parameter

  3. Oracle diff:bagaimana cara membandingkan dua tabel?

  4. Bergabung dengan Tabel di Oracle SQL Developer

  5. Sisipkan Oracle jika baris tidak ada