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

Quando si progettano database, qual è il modo preferito per memorizzare più valori vero/falso?

In SQL Server , c'è BIT tipo di dati. Puoi memorizzare 0 o 1 lì, confrontare i valori ma non eseguire MIN o MAX .

In Oracle , usi semplicemente NUMBER o CHAR(1) .

In MySQL e PostgreSQL qualsiasi tipo di dati è implicitamente convertibile in BOOLEAN .

Entrambi i sistemi supportano BOOLEAN tipo di dati che puoi utilizzare così com'è, senza gli operatori, in WHERE o ON clausole:

SELECT  *
FROM    mytable
WHERE   col1

, cosa impossibile in SQL Server e Oracle (devi avere un qualche tipo o un predicato lì).

In MySQL , BOOLEAN è sinonimo di TINYINT(1) .

In PostgreSQL anche (in termini di spazio di archiviazione), ma logicamente non è convertibile in modo implicito in nessun altro tipo.