Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.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
创建SQL函数以确定一个值是否与另一个值匹配_Sql_Sql Server 2008 R2_Sql Function - Fatal编程技术网

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

创建SQL函数以确定一个值是否与另一个值匹配,sql,sql-server-2008-r2,sql-function,Sql,Sql Server 2008 R2,Sql Function,我意识到这是一个有点愚蠢的例子,因为当您可以在where子句中显式比较值时,为什么要使用函数呢?所以,也许SQL迫使函数定义的愚蠢与我所期望的行为的愚蠢相匹配 无论如何,我想写一些简单的东西,比如: return (@inputValue = expectedValue) RETURN CASE WHEN @inputValue = expectedValue THEN 0 ELSE 1 END RETURN CASE @inputValue WHEN expectedValue THEN

我意识到这是一个有点愚蠢的例子,因为当您可以在where子句中显式比较值时,为什么要使用函数呢?所以,也许SQL迫使函数定义的愚蠢与我所期望的行为的愚蠢相匹配

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

return (@inputValue = expectedValue)
RETURN CASE WHEN @inputValue = expectedValue THEN 0 ELSE 1 END
RETURN CASE @inputValue WHEN expectedValue THEN 0 ELSE 1 END
然而,SQL似乎不喜欢这样

这项工作:

If @inputValue = expectedValue
    return 0
Else
    return 1
return -1
但是看起来很笨拙,特别是最后一个不必要的(但从SQL的角度来看是必要的)返回语句

有没有更好的方法来实现这一点?谢谢。

使用类似以下的

return (@inputValue = expectedValue)
RETURN CASE WHEN @inputValue = expectedValue THEN 0 ELSE 1 END
RETURN CASE @inputValue WHEN expectedValue THEN 0 ELSE 1 END
或者像这样:

return (@inputValue = expectedValue)
RETURN CASE WHEN @inputValue = expectedValue THEN 0 ELSE 1 END
RETURN CASE @inputValue WHEN expectedValue THEN 0 ELSE 1 END
使用一个像这样的

return (@inputValue = expectedValue)
RETURN CASE WHEN @inputValue = expectedValue THEN 0 ELSE 1 END
RETURN CASE @inputValue WHEN expectedValue THEN 0 ELSE 1 END
或者像这样:

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