我在一个ASP Classic中遇到了这个有趣的功能.起初我笑了,摇了摇头,然后哭了(只是一点点).但后来我开始怀疑是否有任何正当理由为什么999999999999999显然会被视为NULL,因为VBScript有它的怪癖.如注释中所述,传递给此函数的值是从COM dll返回的.
任何人都可以确认是否有合理的理由,或者是否已经成熟提交给TheDailyWTF.
function NullNumberCheck(Value) if IsNumeric(Value) then if Value = 999999999999999 then Value = "" end if end if NullNumberCheck = Value end function
解决方法
这看起来像数据源中的“魔术空” – 数据库中是否有一个列支持传递给此函数的值,该值不可为空?
Why are people using magic values instead of null in their code?