Oracle
 sql >> база данни >  >> RDS >> Oracle

защо асоциативен масив, индексиран от VARCHAR2, не съхранява повече от 9 елемента

Виждате това защото индексът е низ; 15-ият елемент, който добавяте, има индекс '15', а не числото 15; и при сравнение на низове "9" е по-високо от "15". И така, last показва най-високия низ стойност, която все още е „9“. Както @Koen казва, това е документираното поведение :

където „най-високото“ и „най-ниското“ са базирани на сравнение на низове .

Това няма нищо общо с много има елементи (което очевидно е 15); само поведението на стойността на индекса е засегнато.

Ако имате повече елементи, ще видите last промяна на стойността, когато преминете 89, тъй като '90' е по-висока стойност от '9', а '91' е по-висока от '90'; но когато преминете 99, той остава там, докато стигнете 900. И така нататък.

db<>fiddle



  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 Database Explorer:безплатно обучение и акредитация

  2. грешен брой или типове аргументи при извикване на Stored Proc

  3. Oracle RAC VIP и ARP Primer

  4. Можете ли да използвате Microsoft Entity Framework с Oracle?

  5. Намиране на "серия" от редове от подреден резултатен набор