在Microsoft SQL Server中是否存在相似于MySQL的布尔数据类型?

在Microsoft SQL Server中是否存在相似于MySQL的布尔数据类型? sql

若是是这样,MS SQL Server中的替代方案是什么? ide


#1楼

你正在寻找bit 。 它存储1或0(或NULL )。

或者,您可使用字符串'true''false'代替1或0,就像这样 - spa

declare @b1 bit = 'false'
print @b1                    --prints 0

declare @b2 bit = 'true'
print @b2                    --prints 1

此外,任何非0值(正或负)都会评估(或在某些状况下转换为)1。 code

declare @i int = -42
print cast(@i as bit)    --will print 1, because @i is not 0

请注意,SQL Server使用三个值逻辑( truefalseNULL ),由于NULLbit数据类型的可能值。 如下是相关的真值表 - server

在此输入图像描述

有关三值逻辑的更多信息 - htm

SQL Server中三值逻辑的示例 three

http://www.firstsql.com/idefend3.htm 字符串

https://www.simple-talk.com/sql/learn-sql-server/sql-and-the-snare-of-three-valued-logic/ get


#2楼

SQL Server使用Bit数据类型it


#3楼

您能够在SQL Server中使用Bit DataType来存储布尔数据。


#4楼

您可使用BIT数据类型来表示布尔数据。 BIT字段的值为1,0或null。


#5楼

使用Bit数据类型。 在本机T-SQL中处理它时,它具备值1和0

相关文章
相关标签/搜索