我意识到这有点愚蠢的例子,因为当你可以在where子句中明确地比较值时,为什么要使用函数?因此,SQL可能会强制函数定义的愚蠢与我期望行为的愚蠢相匹配。
无论如何,我想写一些简单的东西:
return (@inputValue = expectedValue)
然而,SQL似乎并不喜欢这样。
这有效:
If @inputValue = expectedValue
return 0
Else
return 1
return -1
但看起来很笨重,尤其是最终不必要的(但从SQL的角度来说是必要的)return语句。
有更好的方法来实现这一目标吗?感谢。
答案 0 :(得分:4)
如何使用CASE
expression,如下所示:
RETURN CASE WHEN @inputValue = expectedValue THEN 0 ELSE 1 END
或者像这样:
RETURN CASE @inputValue WHEN expectedValue THEN 0 ELSE 1 END