I Oracle er de de samme:
SQL-sætninger, der opretter tabeller og klynger, kan også bruge ANSI-datatyper og datatyper fra IBM-produkterne SQL/DS og DB2. Oracle genkender ANSI- eller IBM-datatypenavnet, der adskiller sig fra OracleDatabase-datatypenavnet. Den konverterer datatypen til den ækvivalente Oracle-datatype, registrerer Oracle-datatypen som navnet på kolonnedatatypen og gemmer kolonnedataene i Oracle-datatypen baseret på de konverteringer, der er vist i de efterfølgende tabeller.
Tabellen under dette citat viser, at DECIMAL(p,s)
behandles internt som et 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
Skalaen er dog som standard 0 for DECIMAL
, hvilket betyder, at DECIMAL(*)
behandles som NUMBER(*, 0)
, dvs. 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