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


当前回答

可以使用BIT字段。

要向现有表中添加BIT列,SQL命令如下所示:

添加yes_no BIT

如果你想创建一个新表,你可以这样做:create table table_name (yes_no BIT)。

其他回答

Bit将是最简单的,也占用最少的空间。与“Y/N”相比,它不是很啰嗦,但我对它很满意。

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

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

来自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值可能会增加混淆。

参考

可以使用BIT字段

创建新表:

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

在现有表中添加列:

ALTER TABLE Tb_Table1 ADD BitColumn  BIT DEFAULT 1

插入记录:

INSERT Tb_Table1 VALUES(11,0)

等效的是BIT字段。

在SQL中,您使用0和1来设置位字段(就像Access中的yes/no字段一样)。在Management Studio中,它显示为false/true值(至少在最近的版本中)。

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

可以使用BIT字段。

要向现有表中添加BIT列,SQL命令如下所示:

添加yes_no BIT

如果你想创建一个新表,你可以这样做:create table table_name (yes_no BIT)。