除非我完全错误,否则Firebird中甚至没有SQL Server的布尔数据类型(1位)。为什么?我认为布尔在各种情况下都很有用......而且空间消耗很低......
答案 0 :(得分:13)
Firebird 3引入了布尔数据类型。请参阅Firebird 3 release notes, BOOLEAN data type。你可以从http://www.firebirdsql.org/en/firebird-3-0/
获得Firebird 3另见原始公告:http://asfernandes.blogspot.com/2010/12/introducing-boolean-datatype.html
答案 1 :(得分:5)
你必须为它创建域
CREATE DOMAIN D_BOOLEAN
AS smallint
CHECK (VALUE IS NULL OR VALUE IN (0, 1));
然后
alter table sometable add somefield d_boolean
在我们的DB上完美运行:)
答案 2 :(得分:-3)
Firebird以bit
数据类型的形式具有布尔值。
http://www.firebirdsql.org/manual/migration-mssql-data-types.html
FTA:
转换位数据类型
位数据类型用于保存单个布尔值0或1.MS SQL不支持为此字段分配NULL。 InterBase可以使用INTEGER或CHAR(1)数据类型来模拟它。
可以使用域限制可接受的值。有关Firebird域的更多信息,请参阅数据定义文档。