0

在我的数据库中,我有一个必需的小数,它可以在

maxExclusive value="1000000000000000"
minExclusive value="-1000000000000000"

用户必须在前端输入一个值,如果他们选择不回答问题,他们可以选择 N/A,问题是表示该值的最佳方式是什么 (N/A)。该值不能为 NULL

表示可接受范围之外的值是一个好主意,只需编写额外的逻辑来处理这个用例。IE。-9999999999999999

4

1 回答 1

2

我可以想到三个表示“超出范围”值的选择。

第一个是你拒绝的那个,它是将值表示为NULL。

第二种是你提出的,就是把它当作一个特殊值来处理,并结合逻辑来处理这个特殊值。

第三个是引入一个新的标志 IsExclusiveValid,并使用这个标志来合并特殊的逻辑。

在许多情况下,第二个和第三个工作量大致相同。第三个是数据库中的开销稍大一些。第三种情况的一个更高级的版本是引入你自己的类型,但这需要更多的工作。

有些人害怕拥有特殊的价值观。但是不同的方法非常相似。

于 2012-07-13T19:05:24.750 回答