sql >> Database >  >> RDS >> Oracle

decimaal(s,p) of getal(s,p)?

In Oracle zijn ze hetzelfde:

SQL-instructies die tabellen en clusters maken, kunnen ook gebruikmaken van ANSI-gegevenstypen en gegevenstypen van de IBM-producten SQL/DS en DB2. Oracle herkent de ANSI- of IBM-gegevenstypenaam die verschilt van de OracleDatabase-gegevenstypenaam. Het converteert het gegevenstype naar het equivalente Oracle-gegevenstype, registreert het Oracle-gegevenstype als de naam van het kolomgegevenstype en slaat de kolomgegevens op in het Oracle-gegevenstype op basis van de conversies die in de volgende tabellen worden getoond.

De tabel onder dit citaat laat zien dat DECIMAL(p,s) wordt intern behandeld als een 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  

De schaal staat echter standaard op 0 voor DECIMAL , wat betekent dat DECIMAL(*) wordt behandeld als NUMBER(*, 0) , d.w.z. 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. Wordt het uitgesproken als "S-Q-L" of "Vervolg"?

  2. Controleer statistische doelen in PostgreSQL

  3. Waarschuwing:mysql_fetch_array() verwacht dat parameter 1 resource is, boolean gegeven in

  4. Gegevensmaskering in DB-toepassingen