创建是/否即布尔字段时,从访问数据库或一般转换的最佳实践是什么?


当前回答

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

其他回答

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

在任意版本的SQL Server Management Studio中,使用BIT作为数据类型

它将为您提供True或False值选项。如果你想使用只有1或0,那么你可以使用这个方法:

CREATE TABLE SampleBit(
    bar int NOT NULL CONSTRAINT CK_foo_bar CHECK (bar IN (-1, 0, 1))
)

但我会严格建议BIT作为最佳选择。希望它能帮助到别人。

您可以使用位列类型。

您可以使用数据类型位

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

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

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

这适用于MS SQL Server 2012 Express

已经有答案说使用比特。我会补充更多的答案。

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

来自MSDN文章的备注。

Bit可以取值为1、0或NULL。 SQL Server数据库引擎优化位列的存储。如果 一个表中有8个或更少的位列,这些列被存储为 1个字节。如果有从9到16位的列,列为 存储为2字节,以此类推。 字符串值TRUE和FALSE可以转换为位值:TRUE 转换为1,FALSE转换为0。 转换为位将任何非零值提升为1。 参考

注意:只有在数据类型为NOT NULL时,才将值保持为1和0是一种良好的实践

作为位有值1,0和NULL。请看真值表。所以要相应地规划价值。允许位数据类型为NULL值可能会增加混淆。

参考