如何在SQL Server中检查两个选择的结果是否相等?

时间:2018-02-26 10:55:33

标签: sql sql-server

让我们考虑一个简化的案例:

SELECT
  (SELECT 1) + (SELECT 2);

,结果为3。

以下声明:

SELECT
  (SELECT 1) = (SELECT 2);

结果是错误[42000][102] Incorrect syntax near '='.

如何查找(SELECT 1)是否等于(SELECT 2)

1 个答案:

答案 0 :(得分:3)

您可以使用CASE表达式:

SELECT
    CASE WHEN (SELECT 1) = (SELECT 2)
         THEN 'equal' ELSE 'not equal' END AS result;

这假设两个子查询都返回标量,而不是实际的结果集。如果您需要比较结果集,这是另一个故事。