存储Isdeleted列的最佳DataType

时间:2013-06-27 22:36:58

标签: sql-server datatable

我想为Isdeleted添加一个新列,它可以有两个值Yes或No.,以便最好使用哪种数据类型: -

  1. 使用char(1)并存储两个值Y或N。

  2. 位。并存储1或0。然后我可以在应用程序级别上说1表示是,0表示否。

  3. VARCHAR(3)。并在数据库中存储是或否,而无需在应用程序级别处理显示?

  4. 我很困惑abotu使用哪个dataTpe,以及如何平衡使用的存储(最好是Bit)和simpliciy(使用char(3)时)。

    最好的问候

    修改

    我试过Bit,但是当我在Sql server数据库中手动插入1或0时,我收到以下错误: - 单元格的值无效(第42行,第17列)。此单元格中更改的值未被识别为有效。 .Net Framework数据类型:Boolean错误消息:字符串未被识别为有效的布尔值。“”

3 个答案:

答案 0 :(得分:4)

最佳选择是(2)(该字段也应该是不可空的),因为值限制为1和0.通常,您希望在应用程序中处理的显示问题而不是任何其他。

作为应在应用程序级别处理显示问题的一个简单示例,您可能需要在某种程度上将UI本地化为不同的语言,使用不同的条款为“是”和“否”。

答案 1 :(得分:2)

使用布尔值。这将使任何阅读你的代码的人都清楚(包括你在10年内 - 你会感到惊讶!),只有2个可能的值。

答案 2 :(得分:0)

取决于您的选择

如果要显示为Yes/No,那么选择1(您只需要在代码中操作实际显示)

但是选择2是我要去的。