sql >> Databáze >  >> RDS >> Oracle

Rozdíl mezi datovým typem čísla a celého čísla v zobrazeních slovníku Oracle

nejlepší vysvětlení, které jsem našel, je toto:

Jaký je rozdíl mezi INTEGER a NUMBER? Kdy bychom měli použít NUMBER a kdy INTEGER? Jen jsem chtěl aktualizovat své komentáře zde...

NUMBER se vždy uloží tak, jak jsme zadali. Měřítko je -84 až 127. Ale INTEGER zaokrouhluje na celé číslo. Měřítko pro INTEGER je 0. INTEGER je ekvivalentní NUMBER(38,0). To znamená, že INTEGER je omezené číslo. Desetinné místo bude zaokrouhleno. Ale NUMBER není omezeno.

  • INTEGER(12,2) => 12
  • INTEGER(12,5) => 13
  • INTEGER(12,9) => 13
  • INTEGER(12,4) => 12
  • ČÍSLO(12,2) => 12,2
  • ČÍSLO(12,5) => 12,5
  • ČÍSLO(12,9) => 12,9
  • ČÍSLO(12,4) => 12,4

INTEGER je vždy pomalejší než NUMBER. Protože celé číslo je číslo s přidaným omezením. Prosazení omezení vyžaduje další cykly CPU. Nikdy jsem nesledoval žádný rozdíl, ale může tam být rozdíl, když načteme několik milionů záznamů do sloupce INTEGER. Pokud potřebujeme zajistit, aby vstupem byla celá čísla, pak je nejlepší volbou INTEGER. Jinak můžeme zůstat u NUMBER datového typu.

Zde je odkaz



  1. Jak změnit cizí klíč tabulky MySQL pomocí příkazového řádku

  2. php password_verify() hash a pass se neshodují

  3. Jak efektivně AKTUALIZOVAT sloupec ve velké tabulce PostgreSQL pomocí Pythonu / psycopg2?

  4. Obsahuje MS SQL Server hranice rozsahu?