在Microsoft SQL Server中是否存在类似于MySQL的布尔数据类型?
如果是这样,MS SQL Server中的替代方案是什么?
#1楼
你正在寻找bit 。 它存储1或0(或NULL )。
或者,您可以使用字符串'true'和'false'代替1或0,就像这样 -
declare @b1 bit = 'false'
print @b1 --prints 0
declare @b2 bit = 'true'
print @b2 --prints 1
此外,任何非0值(正或负)都会评估(或在某些情况下转换为)1。
declare @i int = -42
print cast(@i as bit) --will print 1, because @i is not 0
请注意,SQL Server使用三个值逻辑( true , false和NULL ),因为NULL是bit数据类型的可能值。 以下是相关的真值表 -
有关三值逻辑的更多信息 -
http://www.firstsql.com/idefend3.htm
https://www.simple-talk.com/sql/learn-sql-server/sql-and-the-snare-of-three-valued-logic/
#2楼
SQL Server使用Bit数据类型
#3楼
您可以在SQL Server中使用Bit DataType来存储布尔数据。
#4楼
您可以使用BIT数据类型来表示布尔数据。 BIT字段的值为1,0或null。
#5楼
使用Bit数据类型。 在本机T-SQL中处理它时,它具有值1和0
来源:oschina
链接:https://my.oschina.net/u/3797416/blog/3195401
