如标题中所述,在设计数据库时,处理具有多个列的表的首选方法是什么,这些列仅将真/假值存储为单个或值(例如“Y/N:或“0/1”) )?同样,不同数据库(例如 Oracle 和 SQL Server)之间是否可能出现一些问题,这些问题可能会影响列的处理方式?
In SQL Server
, 有BIT
数据类型。您可以在那里存储 0 或 1,比较值但不运行MIN
or MAX
.
In Oracle
,你只需使用NUMBER
or CHAR(1)
.
In MySQL
and PostgreSQL
任何数据类型都可以隐式转换为BOOLEAN
.
两个系统都支持BOOLEAN
您可以按原样使用的数据类型,无需运算符WHERE
or ON
条款:
SELECT *
FROM mytable
WHERE col1
,这在SQL Server
and Oracle
(你需要有某种类型或谓词)。
In MySQL
, BOOLEAN
是同义词TINYINT(1)
.
In PostgreSQL
也是(在存储方面),但从逻辑上讲,它不能隐式转换为任何其他类型。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)