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

Разлика между числовия и целочисления тип данни в изгледите на речника на Oracle

най-доброто обяснение, което намерих, е следното:

Каква е разликата между INTEGER и NUMBER? Кога трябва да използваме NUMBER и кога INTEGER? Просто исках да актуализирам коментарите си тук...

NUMBER винаги се съхранява както сме въвели. Скалата е от -84 до 127. Но INTEGER закръгля до цяло число. Скалата за INTEGER е 0. INTEGER е еквивалентно на NUMBER(38,0). Това означава, че INTEGER е ограничено число. Десетичният знак ще бъде закръглен. Но NUMBER не е ограничен.

  • ЦЯЛО ЧИСЛО (12.2) => 12
  • ЦЯЛО ЧИСЛО (12,5) => 13
  • ЦЯЛО ЧИСЛО (12,9) => 13
  • ЦЯЛО ЧИСЛО (12.4) => 12
  • ЧИСЛО(12.2) => 12.2
  • ЧИСЛО(12,5) => 12,5
  • ЧИСЛО(12,9) => 12,9
  • ЧИСЛО(12,4) => 12,4

INTEGER винаги е по-бавно от NUMBER. Тъй като integer е число с добавено ограничение. Необходими са допълнителни цикли на процесора, за да се наложи ограничението. Никога не съм наблюдавал разлика, но може да има разлика, когато заредим няколко милиона записа в колоната INTEGER. Ако трябва да гарантираме, че входът е цели числа, тогава INTEGER е най-добрият вариант. В противен случай можем да се придържаме към NUMBER тип данни.

Ето връзката



  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 SQL - създаване на низ чрез свързване на редове, но не надвишава X брой символи

  2. Как да се върнете назад, когато възникне грешка при изпълнение на командата за зареждане на sql?

  3. Улавяне на стойности, които задействат DUP_VAL_ON_INDEX

  4. Вмъкнете няколко реда от R Dataframe в Oracle Database

  5. PLS-00539 и PLS-00538 грешки при създаване на UDT функции