使用位数据类型将 true/false 存储到 sql 数据库是否实用?

is it practical to use bit data type to store true/false into sql database?

使用数据类型将true/false值存储到sql数据库中是否实用?我读到有人使用 tinyint(1) 但我不知道为什么?它在性能上有所不同并且更实用吗?他们在转换为 Boolean 类型时有什么问题吗?

关于实用,我假设您的意思是比使用另一种方法存储布尔值有优势。 SQL 服务器将布尔值隐式转换为 bit 类型,因此在其他好处中(主要是使用 bit 类型存储为 1 个字节,非常有效),使用它是有意义的因为你为自己做的工作更少,所以不需要默认值或约束。 tinyint 然而(也存储为 1 个字节),自然可以存储最多 255 个值,并且当您尝试从应用层隐式转换布尔值时,您可能会遇到转换错误。

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