在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