在转换来自Access数据库或其他情况下创建yes/no
,即Boolean
字段的最佳实践是什么?
在转换来自Access数据库或其他情况下创建yes/no
,即Boolean
字段的最佳实践是什么?
BIT
作为数据类型,这将为您提供True
或False
值选项。如果您只想使用1
或0
,则可以使用以下方法:CREATE TABLE SampleBit(
bar int NOT NULL CONSTRAINT CK_foo_bar CHECK (bar IN (-1, 0, 1))
)
但我强烈建议选择BIT
作为最佳选项。希望这能对某些人有所帮助。
您可以使用具有1
或0
的BIT类型,或者如果允许NULL
,还可以使用NULL
。
BIT类型将转换:
0
以外的任何整数值都转换为1
。"0"
以外的任何整数字符串值都转换为1
。"0"
转换为0
。然后,您可以创建一个具有BIT类型的表如下所示:
CREATE TABLE doctor (
id INT IDENTITY,
name NVARCHAR(50),
on_call BIT, -- Here
PRIMARY KEY(id)
)
GO
然后,按照下面所示插入行:
INSERT INTO doctor
VALUES ("John", 1), ("Tom", 0), ("Lisa", "-23"), ("Kai", "0"), ("Bob", NULL)
GO
1> SELECT * FROM doctor
2> GO
id name on_call
-- ---- -------
1 John 1 <- 1
2 Tom 0 <- 0
3 Lisa 1 <- "-23"
4 Kai 0 <- "0"
5 Bob NULL <- NULL
以下是数据库列表,其中列出了布尔类型使用的数据类型
-> Oracle -> Number(1)
-> SQL Server -> BIT
-> MySql -> BIT或TINYINT
->postgreSQL -> boolean
希望这对您有所帮助,谢谢。