使用 bit 数据类型对存储 true/fals/false 值在SQL数据库中是否实用?我读到有些人使用 tinyint(1),但是我不知道为什么?,性能是否不同,更实用?在转换为布尔值类型时,他们的问题是什么?
实际上,我认为您的意思是使用另一种方法来存储布尔值的优势。SQL Server隐式将布尔值转换为bit
类型,因此在其他好处(主要是使用bit
类型都存储为1个字节,非常有效),因为您为自己做更少的工作,没有需要默认或约束。但是,tinyint
(也存储为1个字节)可以自然存储高达255个,并且在尝试从应用程序层中隐式转换布尔值时,您可能会遇到转换错误。
tl; dr始终使用适当的类型。bit
类型适用于布尔值,因此没有理由不使用它。