Oracleでは、これらは同じです:
テーブルとクラスターを作成するSQLステートメントは、ANSIデータ型とIBM製品SQL/DSおよびDB2のデータ型を使用することもできます。 Oracleは、OracleDatabaseデータ型名とは異なるANSIまたはIBMデータ型名を認識します。データ型を同等のOracleデータ型に変換し、Oracleデータ型を列データ型の名前として記録し、次の表に示す変換に基づいて列データをOracleデータ型に格納します。
この引用の下の表は、DECIMAL(p,s)
内部的には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
ただし、DECIMAL
のスケールのデフォルトは0です。 、つまりDECIMAL(*)
NUMBER(*, 0)
として扱われます 、つまり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