你如何在SQL服务器中创build一个是/否的布尔型字段?

从访问数据库或通常转换时创build是/否布尔字段的最佳做法是什么?

相当于是一个位域。

在SQL中,您使用0和1来设置一个位字段(就像Access中的是/否字段)。 在Management Studio中,它显示为假/真值(至less在最近的版本中)。

当通过ASP.NET访问数据库时,它会将该字段暴露为布尔值。

BIT数据types通常用于存储布尔值(0表示false,1表示true)。

您可以使用bittypes。

您可以使用数据typesbit

插入大于0的值将被存储为'1'

插入的值小于0将被存储为'1'

插入为“0”的值将被存储为“0”

这对于MS SQL Server 2012 Express也是如此

您可以使用BIT字段。

为了将BIT列添加到现有表中,SQL命令将如下所示:

ALTER TABLE table_name ADD yes_no BIT

如果你想创build一个新表,你可以这样做: CREATE TABLE table_name (yes_no BIT)

bit将是最简单的,也占用最less的空间。 与“是/否”相比,不是很详细,但我很好。

创build表格时的示例用法:

 [ColumnName] BIT NULL DEFAULT 0 

已经有使用Bit的答案。 我会增加更多的这些答案。

您应该使用位来表示布尔值。

MSDN文章备注。

位可以取值为1,0或NULL。

SQL Server数据库引擎优化位列的存储。 如果表中有8个或更less的位列,那么这些列存储为1个字节。 如果有9到16位的列,则这些列存储为2个字节,依此类推。

string值TRUE和FALSE可以转换为位值:TRUE转换为1,FALSE转换为0。

转换为位将任何非零值提升为1。

注意:只有在数据types为NOT NULL才能将值保存为1和0

由于位有值1,0和NULL。 看到这个真理表。 所以计划相应的值。 它可能通过允许位数据types的NULL值来增加混淆。

在这里输入图像说明

参考文献1 2

bit是最合适的select。 否则我曾经用int来达到这个目的。 1true0false

您可以使用BIT字段

要创build新表格:

 CREATE TABLE Tb_Table1 ( ID INT, BitColumn BIT DEFAULT 1 ) 

在现有表格中添加列:

 ALTER TABLE Tb_Table1 ADD BitColumn BIT DEFAULT 1 

要插入logging:

 INSERT Tb_Table1 VALUES(11,0)