创建SQL函数以确定值是否与另一个值匹配

时间:2014-04-08 17:39:00

标签: sql sql-server-2008-r2 sql-function

我意识到这有点愚蠢的例子,因为当你可以在where子句中明确地比较值时,为什么要使用函数?因此,SQL可能会强制函数定义的愚蠢与我期望行为的愚蠢相匹配。

无论如何,我想写一些简单的东西:

return (@inputValue = expectedValue)

然而,SQL似乎并不喜欢这样。

这有效:

If @inputValue = expectedValue
    return 0
Else
    return 1
return -1

但看起来很笨重,尤其是最终不必要的(但从SQL的角度来说是必要的)return语句。

有更好的方法来实现这一目标吗?感谢。

1 个答案:

答案 0 :(得分:4)

如何使用CASE expression,如下所示:

RETURN CASE WHEN @inputValue = expectedValue THEN 0 ELSE 1 END

或者像这样:

RETURN CASE @inputValue WHEN expectedValue THEN 0 ELSE 1 END