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

Tipe data Oracle:Haruskah saya menggunakan VARCHAR2 atau CHAR

Saya khawatir tentang ruang ekstra yang ditempatkan di bidang VARCHAR2 dan dengan masalah perbandingan. Saya tahu ada cara untuk membandingkannya dengan memangkas atau mengonversinya, tetapi saya khawatir itu akan membuat kode saya berantakan dan bermasalah.

Ini sebenarnya sangat berlawanan. Menggunakan CHAR akan memaksa string Anda menjadi panjang tetap dengan menambahkan spasi jika terlalu pendek. Jadi, ketika membandingkan CHAR dengan string biasa di aplikasi apa pun yang menggunakan data, aplikasi itu perlu menambahkan trim setiap saat. Dengan kata lain, VARCHAR2 adalah pilihan yang secara alami mengarah ke kode yang lebih bersih.

Secara umum Anda harus selalu gunakan VARCHAR2, kecuali Anda memiliki alasan yang sangat spesifik mengapa Anda menginginkan kolom CHAR.

Jika Anda khawatir tentang string yang memiliki spasi ekstra di bagian depan atau akhir, ada beberapa opsi yang muncul di benak Anda:

  • Pastikan proses apa pun yang dilakukan penyisipan memangkasnya sebelum memasukkan.
  • Tambahkan batasan centang pada kolom yang memastikan bahwa string =trim(string).
  • Tambahkan pemicu tingkat baris sebelum menyisipkan yang memangkas string saat disisipkan.
  • Pastikan Anda melakukan trim pada string setiap kali Anda menanyakan tabel


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle - Mengapa nol di depan angka hilang saat mengonversinya TO_CHAR

  2. Cara menggunakan kolom terhitung untuk menghitung kolom lain dalam tampilan yang sama

  3. SQLPlus - spooling ke banyak file dari blok PL/SQL

  4. Fungsi CURRENT_DATE di Oracle

  5. Nama pengguna atau peran umum tidak valid