使用位数据类型将True/False存储到SQL数据库中是可行的吗?



使用 bit 数据类型对存储 true/fals/false 值在SQL数据库中是否实用?我读到有些人使用 tinyint(1),但是我不知道为什么?,性能是否不同,更实用?在转换为布尔值类型时,他们的问题是什么?

实际上,我认为您的意思是使用另一种方法来存储布尔值的优势。SQL Server隐式将布尔值转换为bit类型,因此在其他好处(主要是使用bit类型都存储为1个字节,非常有效),因为您为自己做更少的工作,没有需要默认或约束。但是,tinyint(也存储为1个字节)可以自然存储高达255个,并且在尝试从应用程序层中隐式转换布尔值时,您可能会遇到转换错误。

tl; dr始终使用适当的类型。bit类型适用于布尔值,因此没有理由不使用它。

最新更新