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

Al diseñar bases de datos, ¿cuál es la forma preferida de almacenar múltiples valores verdaderos/falsos?

En SQL Server , hay BIT tipo de datos. Puede almacenar 0 o 1 allí, comparar los valores pero no ejecutar MIN o MAX .

En Oracle , solo usa NUMBER o CHAR(1) .

En MySQL y PostgreSQL cualquier tipo de datos es implícitamente convertible a BOOLEAN .

Ambos sistemas admiten BOOLEAN tipo de datos que puede usar tal cual, sin los operadores, en WHERE o ON cláusulas:

SELECT  *
FROM    mytable
WHERE   col1

, lo cual es imposible en SQL Server y Oracle (debe tener algún tipo o predicado allí).

En MySQL , BOOLEAN es un sinónimo de TINYINT(1) .

En PostgreSQL también (en términos de almacenamiento), pero lógicamente, no es implícitamente convertible a ningún otro tipo.