所需十进制的SQL标志值

时间:2012-07-13 18:32:27

标签: database tsql

在我的数据库中,我有一个必需的十进制数,可以在

的范围内
maxExclusive value="1000000000000000"
minExclusive value="-1000000000000000"

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

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

1 个答案:

答案 0 :(得分:2)

我可以想出三种选择来代表“超出范围”的价值。

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

第二个是你提出的那个,它将它作为一个特殊值处理,并包含处理特殊值的逻辑。

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

在许多情况下,第二个和第三个工作量大致相同。第三个是数据库中略微增加的开销。第三种情况的更高级版本是引入您自己的类型,但这是更多的工作。

有些人对拥有特殊价值感到畏缩。但是不同的方法非常相似。