sql >> Base de Datos >  >> RDS >> Oracle

Campo booleano en Oracle

Encontré este enlace útil.

Este es el párrafo que destaca algunos de los pros/contras de cada enfoque.

El diseño que se ve con mayor frecuencia es imitar las muchas banderas de tipo booleano que usan las vistas del diccionario de datos de Oracle, seleccionando 'Y' para verdadero y 'N' para falso. Sin embargo, para interactuar correctamente con entornos host, como JDBC, OCCI y otros entornos de programación, es mejor seleccionar 0 para falso y 1 para verdadero para que pueda funcionar correctamente con las funciones getBoolean y setBoolean.

Básicamente, defienden el método número 2, en aras de la eficiencia, utilizando

  • valores de 0/1 (debido a la interoperabilidad con getBoolean() de JDBC etc.) con una restricción de verificación
  • un tipo de CHAR (porque ocupa menos espacio que NUMBER).

Su ejemplo:

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