【问题标题】:Create SQL function to determine if a value matches another创建 SQL 函数以确定一个值是否与另一个匹配
【发布时间】:2014-04-08 17:38:59
【问题描述】:

我意识到这有点愚蠢,因为当您可以在 where 子句中显式比较值时,为什么还要使用函数?所以也许 SQL 是在强迫函数定义的愚蠢来匹配我想要的行为的愚蠢。

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

return (@inputValue = expectedValue)

但是,SQL 似乎不喜欢这样。

这行得通:

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

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

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

【问题讨论】:

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


    【解决方案1】:

    使用CASE expression 怎么样,像这样:

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

    或者像这样:

    RETURN CASE @inputValue WHEN expectedValue THEN 0 ELSE 1 END
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-05
      • 2019-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多