Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Boolesches Feld in Oracle

Ich fand diesen Link nützlich.

Hier ist der Absatz, der einige der Vor- und Nachteile jedes Ansatzes hervorhebt.

Das am häufigsten gesehene Design besteht darin, die vielen Boolean-ähnlichen Flags zu imitieren, die die Datenwörterbuchansichten von Oracle verwenden, indem „Y“ für „true“ und „N“ für „false“ ausgewählt wird. Um jedoch korrekt mit Hostumgebungen wie JDBC, OCCI und anderen Programmierumgebungen zu interagieren, ist es besser, 0 für falsch und 1 für wahr auszuwählen, damit es mit den getBoolean- und setBoolean-Funktionen richtig funktioniert.

Grundsätzlich befürworten sie aus Effizienzgründen Methode Nummer 2 mit

  • Werte von 0/1 (wegen der Interoperabilität mit getBoolean() von JDBC). usw.) mit einer Check-Einschränkung
  • ein Typ von CHAR (weil es weniger Platz benötigt als NUMBER).

Ihr Beispiel:

create table tbool (bool char check (bool in (0,1));
insert into tbool values(0);
insert into tbool values(1);`