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

Campo booleano in Oracle

Ho trovato questo link utile.

Ecco il paragrafo che evidenzia alcuni dei pro/contro di ogni approccio.

Il design più comune consiste nell'imitare i numerosi flag di tipo booleano utilizzati dalle visualizzazioni del dizionario dei dati di Oracle, selezionando "Y" per true e "N" per false. Tuttavia, per interagire correttamente con gli hostenvironments, come JDBC, OCCI e altri ambienti di programmazione, è meglio selezionare 0 per false e 1 per true in modo che funzioni correttamente con le funzioni getBoolean e setBoolean.

Fondamentalmente sostengono il metodo numero 2, per motivi di efficienza, utilizzando

  • valori di 0/1 (a causa dell'interoperabilità con getBoolean() di JDBC ecc.) con un vincolo di verifica
  • un tipo di CHAR (perché utilizza meno spazio di NUMBER).

Il loro esempio:

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