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

mengapa array Asosiatif yang diindeks oleh VARCHAR2 tidak menyimpan lebih dari 9 elemen

Anda melihatnya karena indeks adalah string; elemen ke-15 yang Anda tambahkan memiliki indeks '15', bukan angka 15; dan dengan perbandingan string '9' lebih tinggi dari '15'. Jadi, last menunjukkan string highest tertinggi nilai, yang masih '9'. Seperti yang dikatakan @Koen, ini perilaku yang didokumentasikan :

di mana 'tertinggi' dan 'terendah' ​​didasarkan pada perbandingan string .

Itu tidak ada hubungannya dengan berapa banyak elemen ada (yang jelas 15); hanya perilaku nilai indeks yang terpengaruh.

Jika Anda memiliki lebih banyak elemen maka Anda akan melihat last nilai berubah ketika Anda melewati 89, karena '90' adalah nilai yang lebih tinggi dari '9', dan '91' lebih tinggi dari '90'; tetapi ketika Anda melewati 99 itu menempel di sana sampai Anda mencapai 900. Dan seterusnya.

db<>biola



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. batasan integritas oracle

  2. Menghitung perbedaan antara dua cap waktu di Oracle dalam milidetik

  3. Bagaimana Mengekspor Data dari Oracle SQL Developer ke Excel?

  4. Fungsi Analitik LEAD dan LAG

  5. Bukan kesalahan ekspresi GROUP BY