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

落花浮王杯 提交于 2020-03-15 19:30:07

在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使用三个值逻辑( truefalseNULL ),因为NULLbit数据类型的可能值。 以下是相关的真值表 -

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

SQL Server中三值逻辑的示例

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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!