sql >> Database >  >> RDS >> Oracle

Oracle beperkingen datatype

Dit is te lang voor een reactie.

Je kunt niet zomaar doen wat je wilt. Oracle converteert de invoerwaarde 3.2 naar een geheel getal. Het gehele getal voldoet aan de beperking. De waarde 3 is wat wordt ingevoegd. De conversie gebeurt achter de schermen. De ontwikkelaars van Oracle vonden deze conversie een "goede zaak".

U kunt dit omzeilen door de kolom te declareren als een getal en dan controleren of het een geheel getal is:

create table test (
     A number, 
     constraints ACHECK check(A between 1 and 5 and mod(A, 1) = 0)
);


  1. SQL JOIN twee tabellen met AVG

  2. Een tabel hernoemen in SQL

  3. Tabelnaam als een PostgreSQL-functieparameter

  4. CREATE EXTENSION postgi mislukt,