你如何在SQL服务器中创build一个是/否的布尔型字段?
从访问数据库或通常转换时创build是/否布尔字段的最佳做法是什么?
相当于是一个位域。
在SQL中,您使用0和1来设置一个位字段(就像Access中的是/否字段)。 在Management Studio中,它显示为假/真值(至less在最近的版本中)。
当通过ASP.NET访问数据库时,它会将该字段暴露为布尔值。
BIT
数据types通常用于存储布尔值(0表示false,1表示true)。
您可以使用bit
types。
您可以使用数据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
来达到这个目的。 1
为true
, 0
为false
。
您可以使用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)