2015-02-10 81 views
2

因此,在Access中,您可以选择列数据类型“是/否”,并在输入选项“是”和“否”时询问您。然而,我没有看到任何来自微软的SQL Server Management Studio,我已经四处搜索,看到“位”是类型,但是当我放入位并且我去添加信息时,它显示为普通列类型信息。或者我应该知道我自己要么0或1?SQL Server Management Studio - 是/否值类型

此外,是0真或假?

+0

只是一句警告:如果您打算使用MSAccess作为SQL Server的前端,那么请远离位。 Access将尝试将其映射到“是/否”字段,并在位列包含NULL时失败,这在MSAccess中是不可能的。如果您打算使用此方案,请在SQL Server中使用带有约束的-1/0的int,该映射为MSAccess的“是”和“否”。 – Oliver 2015-02-10 10:08:04

+0

你知道phpmyadmin吗?这是否有点和?如果是,我应该放多大? – Ran 2015-02-10 10:29:13

回答

2

SQL Server不具有布尔数据类型。最接近的近似值是。但那是一个数字类型,而不是布尔类型。另外,它只支持2个值 - 0或1(和一个非值,NULL)。

但是,SQL(标准SQL以及T-SQL方言)描述了三值逻辑 - TRUEFALSEUNKNOWN。所以实际上并不是最好的,如果你需要所有3个州。

使用它,你不能直接在if语句中使用该值,例如:

IF CONVERT(bit, 0) 
BEGIN 
    print 'Ok' 
END 

不会解析和错误的结束。所以,你需要写下如下:

IF CONVERT(bit, 0) = 0 
+0

在phpmyadmin中它是一样的逻辑吗? – Ran 2015-02-10 10:17:22

1

在MS SQL中bit相当于boolean

https://msdn.microsoft.com/en-us/library/ms177603.aspx

在这里,你可以阅读更多有关。

1将是Yes
0相当于将是No
NULL相当于将是Undefined等效(如果在Access中存在)

+0

MSAccess无法将NULL或UNDEFINED分配给“是/否”列。如果你想在Access中使用它,请远离位置。 – Oliver 2015-02-10 10:12:00

1

在SQL Server中相当于boolean数据类型是BitBit可以取值0(假)或1(真)。如果你想设置创建您可以设置表的默认值,以你的位区

... 
myBoolean Bit, default 1, 
.. 
相关问题