在我的数据库中,我有一个必需的十进制数,可以在
的范围内maxExclusive value="1000000000000000"
minExclusive value="-1000000000000000"
用户必须在前端输入一个值,如果他们选择不回答问题,他们可以选择N / A,问题是表示此值(N / A)的最佳方式是什么。值不能为NULL
表示超出可接受范围的值是个好主意,只需编写额外的逻辑来处理这个用例。 IE浏览器。 -9999999999999999
答案 0 :(得分:2)
我可以想出三种选择来代表“超出范围”的价值。
第一个是您拒绝的那个,即将值表示为NULL。
第二个是你提出的那个,它将它作为一个特殊值处理,并包含处理特殊值的逻辑。
第三个是引入一个新标志IsExclusiveValid,并使用这个标志来合并特殊逻辑。
在许多情况下,第二个和第三个工作量大致相同。第三个是数据库中略微增加的开销。第三种情况的更高级版本是引入您自己的类型,但这是更多的工作。
有些人对拥有特殊价值感到畏缩。但是不同的方法非常相似。