在Microsoft SQL Server中有布尔数据类型吗?

如果不是,在MS SQL Server的替代方案是什么?


当前回答

你可能想使用BIT数据类型,可能设置为NOT NULL:

引用MSDN文章:

位(transact - sql) 一种整数数据类型,其值可以为1、0或NULL。 SQL Server数据库引擎优化位列的存储。如果一个表中有8个或更少的位列,列存储为1字节。如果有9到16位的列,列存储为2字节,依此类推。 字符串值TRUE和FALSE可以转换为位值:TRUE转换为1,FALSE转换为0。

其他回答

使用BIT数据类型表示布尔数据。BIT字段的值为1,0或NULL。

create table <tablename> (
    <columnName> bit
)

除非你想要一个三路布尔值,你应该像这样添加NOT NULL DEFAULT 0:

create table <tablename> (
    <columnName> bit not null default 0
)

SQL Server使用Bit数据类型

在SQL Server中可以使用Bit DataType来存储布尔数据。

我使用TINYINT(1)数据类型,以存储布尔值在SQL Server虽然BIT是非常有效的

你可能想使用BIT数据类型,可能设置为NOT NULL:

引用MSDN文章:

位(transact - sql) 一种整数数据类型,其值可以为1、0或NULL。 SQL Server数据库引擎优化位列的存储。如果一个表中有8个或更少的位列,列存储为1字节。如果有9到16位的列,列存储为2字节,依此类推。 字符串值TRUE和FALSE可以转换为位值:TRUE转换为1,FALSE转换为0。