在Microsoft SQL Server中是否存在相似于MySQL的布尔数据类型? sql
若是是这样,MS SQL Server中的替代方案是什么? ide
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使用三个值逻辑( true
, false
和NULL
),由于NULL
是bit
数据类型的可能值。 如下是相关的真值表 - 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
SQL Server使用Bit
数据类型it
您能够在SQL Server中使用Bit
DataType来存储布尔数据。
您可使用BIT
数据类型来表示布尔数据。 BIT
字段的值为1,0或null。
使用Bit
数据类型。 在本机T-SQL中处理它时,它具备值1和0