我想为Isdeleted添加一个新列,它可以有两个值Yes或No.,以便最好使用哪种数据类型: -
使用char(1)并存储两个值Y或N。
位。并存储1或0。然后我可以在应用程序级别上说1表示是,0表示否。
VARCHAR(3)。并在数据库中存储是或否,而无需在应用程序级别处理显示?
我很困惑abotu使用哪个dataTpe,以及如何平衡使用的存储(最好是Bit)和simpliciy(使用char(3)时)。
最好的问候
修改
我试过Bit,但是当我在Sql server数据库中手动插入1或0时,我收到以下错误: - 单元格的值无效(第42行,第17列)。此单元格中更改的值未被识别为有效。 .Net Framework数据类型:Boolean错误消息:字符串未被识别为有效的布尔值。“”
答案 0 :(得分:4)
最佳选择是(2)(该字段也应该是不可空的),因为值限制为1和0.通常,您希望在应用程序中处理仅的显示问题而不是任何其他。
作为应在应用程序级别处理显示问题的一个简单示例,您可能需要在某种程度上将UI本地化为不同的语言,使用不同的条款为“是”和“否”。
答案 1 :(得分:2)
使用布尔值。这将使任何阅读你的代码的人都清楚(包括你在10年内 - 你会感到惊讶!),只有2个可能的值。
答案 2 :(得分:0)
取决于您的选择
如果要显示为Yes/No
,那么选择1(您只需要在代码中操作实际显示)
但是选择2是我要去的。