sql >> Database teknologi >  >> RDS >> Oracle

decimal(s,p) eller tal(s,p)?

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   


  1. Hvor meget diskplads er nødvendig for at gemme en NULL-værdi ved hjælp af postgresql DB?

  2. Hvilken MySQL-datatype der skal bruges til lagring af booleske værdier

  3. MySQL-hurtigt tip:Brug af DAYOFWEEK-funktionen

  4. Hvordan UNION fungerer i PostgreSQL