创建SQL函数以确定一个值是否与另一个值匹配
我意识到这是一个有点愚蠢的例子,因为当您可以在where子句中显式比较值时,为什么要使用函数呢?所以,也许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
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