使用位数据类型将真/假存储到sql数据库中是否可行?

时间:2015-05-19 11:00:36

标签: sql-server sqldatatypes

使用数据类型将 true / false 值存储到sql数据库中是否切实可行?我读到有些人使用 tinyint(1),但我不知道为什么?它在性能上有所不同,更实用吗?是转换为布尔类型时的任何问题?

1 个答案:

答案 0 :(得分:2)

实际上,我认为你的意思是优于使用另一种方法来存储布尔值。 SQL Server隐式地将布尔值转换为bit类型,因此其他好处(主要是使用bit类型存储为1字节,非常有效),因为你&#使用它是有意义的39;为自己减少工作量,不需要默认或约束。但是tinyint(也存储为1个字节)可以自然地存储最多255个值,并且在尝试从应用程序层隐式转换布尔值时可能会遇到转换错误。

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