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