Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 所需十进制数的SQL标志值_Database_Tsql - Fatal编程技术网

Database 所需十进制数的SQL标志值

Database 所需十进制数的SQL标志值,database,tsql,Database,Tsql,在我的数据库中,我有一个必需的十进制数,可以在 maxExclusive value="1000000000000000" minExclusive value="-1000000000000000" 用户必须在前端输入一个值,如果他们选择不回答问题,他们可以选择N/a,问题是什么是表示该值(N/a)的最佳方式。该值不能为NULL 表示超出可接受范围的值是一个好主意,只需编写额外的逻辑来处理这个用例。 Ie.-9999999999999999我可以想出三个选项来表示“超出范围”的值 第一个是您

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

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

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

我可以想出三个选项来表示“超出范围”的值

第一个是您已拒绝的,它将值表示为NULL

第二个是您提出的,将其作为特殊值处理,并将逻辑合并以处理特殊值

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

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


有些人因为有特殊的价值观而畏缩。但是不同的方法非常相似。

看来这个用例正是NULL存在的原因——有什么好的理由不想使用它吗?