如何在 SQL Server 中创建是/否布尔字段?
从 access 数据库
转换时或一般情况下,创建 yes/no
即 Boolean
字段的最佳实践是什么?
What is the best practice for creating a yes/no
i.e. Boolean
field when converting from an access database
or in general?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(13)
等效的是
BIT
字段。在
SQL
中,您使用0
和1
来设置位字段(就像Access 中的是/否字段一样)。在 Management Studio 中,它显示为 false/true 值(至少在最新版本中)。当通过 ASP.NET 访问数据库时,它将将该字段公开为布尔值。
The equivalent is a
BIT
field.In
SQL
you use0
and1
to set a bit field (just as a yes/no field in Access). In Management Studio it displays as a false/true value (at least in recent versions).When accessing the database through ASP.NET it will expose the field as a boolean value.
BIT
数据类型通常用于存储boolean
值(0
表示false
,1
> 为true
)。The
BIT
datatype is generally used to storeboolean
values (0
forfalse
,1
fortrue
).您可以使用
bit
列类型。You can use the
bit
column type.您可以使用
BIT
字段。要向现有表添加 BIT 列,SQL 命令如下所示:
ALTER TABLE table_name ADD yes_no BIT
如果要创建新表,可以执行以下操作:
CREATE TABLE table_name ( yes_no 位)
。You can use the
BIT
field.For adding a BIT column to an existing table, the SQL command would look like:
ALTER TABLE table_name ADD yes_no BIT
If you want to create a new table, you could do:
CREATE TABLE table_name (yes_no BIT)
.已经有答案说使用 Bit 了。我将对这些答案添加更多内容。
您应该使用 bit 来表示布尔值。
MSDN 文章的评论。
注意:最好仅使用数据类型
NOT NULL
将值保留为 1 和 0,因为 Bit 具有值 1、0 和 NULL。请参阅真值表。因此,请相应地规划值。允许位数据类型使用 NULL 值可能会增加混乱。
There are already answers saying use of Bit. I will add more to these answers.
You should use bit for representing Boolean values.
Remarks from MSDN article.
Note: It is good practice to keep values as 1 and 0 only with data type
NOT NULL
As Bit have values 1, 0 and NULL. See truth table for this. So plan values accordingly. It might add confusion by allowing NULL value for bit data type.
您可以使用数据类型
bit
插入的值大于 0 将存储为“1”
插入的值小于 0 将存储为“1”
插入的值将存储为“0”存储为“0”
这适用于 MS SQL Server 2012 Express
You can use the data type
bit
Values inserted which are greater than 0 will be stored as '1'
Values inserted which are less than 0 will be stored as '1'
Values inserted as '0' will be stored as '0'
This holds true for MS SQL Server 2012 Express
创建表时的示例用法:
Sample usage while creating a table:
您可以使用
BIT
字段创建新表:
在现有表中添加列:
插入记录:
You can use the
BIT
fieldTo create new table:
Adding Column in existing Table:
To Insert record:
bit
将是最简单的,并且占用的空间也最少。与“Y/N”相比,不是很冗长,但我对此很满意。bit
will be the simplest and also takes up the least space. Not very verbose compared to "Y/N" but I am fine with it.bit
是最合适的选项。否则我曾经使用int
来达到这个目的。1
表示true
&0
表示false
。bit
is the most suitable option. Otherwise I once usedint
for that purpose.1
fortrue
&0
forfalse
.,这将为您提供
True
或False
值选项。如果您只想使用1
或0
那么您可以使用此方法:但我会严格建议
BIT
作为 BEST选项。希望完全可以帮助别人。which will provide you with
True
orFalse
Value options. in case you want to use Only1
or0
then you can use this method:But I will strictly advise
BIT
as The BEST Option. Hope fully it's help someone.您可以使用 BIT 类型,可以有
1
或0
,如果也可以有
。NULL
允许 >NULLBIT 类型 转换:
0
之外的任何整数值到1
。"0"
到1
之外的任何整数字符串值。“0”
到0
。然后,您可以使用 BIT type 如下所示:
然后,插入行,如下所示:
You can use BIT type which can have
1
or0
, or alsoNULL
ifNULL
is allowed.BIT type converts:
0
to1
."0"
to1
."0"
to0
.Then, you can create a table with BIT type as shown below:
Then, insert rows as shown below:
在布尔值使用什么类型的数据类型的数据库列表下方
-> 甲骨文 ->数字(1)
-> SQL Server ->位
-> MySql -> BIT 或 TINYINT
->postgreSQL -> boolean
我希望这真的很有帮助,谢谢。
Below the List of database where what type of datatype is use for Boolean
-> Oracle -> Number(1)
-> SQL Server -> BIT
-> MySql -> BIT or TINYINT
->postgreSQL -> boolean
I hope this is really helpful thanks.