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

Rangkaian karakter Oracle JDBC dan batas 4000 karakter

Sebelum Oracle 12.1, sebuah VARCHAR2 kolom dibatasi untuk menyimpan 4000 byte data dalam kumpulan karakter basis data meskipun dideklarasikan VARCHAR2(4000 CHAR) . Karena setiap karakter dalam string Anda memerlukan 2 byte penyimpanan dalam kumpulan karakter UTF-8, Anda tidak akan dapat menyimpan lebih dari 2000 karakter dalam kolom. Tentu saja, angka tersebut akan berubah jika beberapa karakter Anda sebenarnya hanya membutuhkan 1 byte penyimpanan atau jika beberapa di antaranya membutuhkan lebih dari 2 byte penyimpanan. Jika kumpulan karakter database adalah Windows-1252, setiap karakter dalam string Anda hanya memerlukan satu byte penyimpanan sehingga Anda dapat menyimpan 4000 karakter dalam kolom.

Karena Anda memiliki string yang lebih panjang, apakah mungkin untuk mendeklarasikan kolom sebagai CLOB bukan sebagai VARCHAR2 ? Itu akan (secara efektif) menghapus batasan panjang (ada batasan ukuran CLOB itu tergantung pada versi Oracle dan ukuran blok tetapi setidaknya dalam kisaran beberapa GB).

Jika Anda menggunakan Oracle 12.1 atau lebih baru, max_string_size parameter memungkinkan Anda untuk menambah ukuran maksimum VARCHAR2 kolom dari 4000 byte menjadi 32767 byte .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menjalankan total grup berulang berdasarkan item berdasarkan waktu di Oracle SQL

  2. FROM kata kunci tidak ditemukan di tempat yang diharapkan, pemilihan teks Oracle SQL

  3. Oracle 10g:Bisakah panjang data CLOB kurang dari 4.000?

  4. Bagaimana saya bisa membuat nama tabel secara kondisional untuk pernyataan SQL CREATE TABLE?

  5. @Temporal(TemporalType.DATE) dengan Oracle 12