Oracle
 sql >> Baza danych >  >> RDS >> Oracle

dziesiętna(s,p) czy liczba(s,p)?

W Oracle są takie same:

Instrukcje SQL tworzące tabele i klastry mogą również używać typów danych ANSI i typów danych z produktów IBM SQL/DS i DB2. Oracle rozpoznaje nazwę typu danych ANSI lub IBM, która różni się od nazwy typu danych OracleDatabase. Konwertuje typ danych na odpowiedni typ danych Oracle, rejestruje typ danych Oracle jako nazwę typu danych kolumny i przechowuje dane kolumny w typie danych Oracle na podstawie konwersji przedstawionych w poniższych tabelach.

Tabela poniżej tego cytatu pokazuje, że DECIMAL(p,s) jest traktowany wewnętrznie jako NUMBER(p,s) :

SQL> create table t (a decimal(*,5), b number (*, 5));

Table created

SQL> desc t;
Name Type        Nullable Default Comments 
---- ----------- -------- ------- -------- 
A    NUMBER(*,5) Y                         
B    NUMBER(*,5) Y  

Jednak skala domyślnie wynosi 0 dla DECIMAL , co oznacza, że ​​DECIMAL(*) jest traktowany jako NUMBER(*, 0) , czyli INTEGER :

SQL> create table t (a decimal, b number, c decimal (5), d decimal (5));

Table created

SQL> desc t;
Name Type      Nullable Default Comments 
---- --------- -------- ------- -------- 
A    INTEGER   Y                         
B    NUMBER    Y                         
C    NUMBER(5) Y                         
D    NUMBER(5) Y   


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. jak sprawdzić wszystkie ograniczenia na stole w oracle

  2. Wysyłanie tablicy wartości do procedury Oracle do użycia w klauzuli WHERE IN

  3. Zwiększenie grupy dysków VOTE w ASM dla aktualizacji GI 12.2

  4. Alternatywne sterowniki Oracle dla .net

  5. Oracle nie usuwa kursorów po zamknięciu zestawu wyników