如何比较sql中的2个整数?

时间:2009-09-24 16:20:02

标签: sql

我正在寻找一种方法来返回一个表示2个整数是否相等的位。当我尝试以下操作时,我得到“=''附近的语法错误。”我错过了什么?我正在使用SQL Server 2005。

DECLARE @ Table1Count AS INT

DECLARE @ Table2Count AS INT

SELECT @ Table1Count = COUNT(*)FROM Table1

SELECT @ Table2Count = COUNT(*)FROM Table2

PRINT @ Table1Count = @ Table2Count

感谢。

4 个答案:

答案 0 :(得分:10)

IF @Table1Count = @Table2Count
    PRINT 1
ELSE
    PRINT 0

交替:

PRINT CASE WHEN @Table1Count = @Table2Count THEN 1 ELSE 0 END

答案 1 :(得分:3)

DECLARE @Table1Count AS INT
DECLARE @Table2Count AS INT
SELECT @Table1Count = COUNT(*) FROM Table1
SELECT @Table2Count = COUNT(*) FROM Table2
PRINT case when @Table1Count = @Table2Count then '1' else '0' end

答案 2 :(得分:0)

只是一个附录:我们的网络目前处于停止状态,所以我无法测试任何东西 - 这就是为什么我在Stackoverflow上闲逛而不是编写代码 - 所以请按照我在这里说的一些盐。但是:

有些SQL引擎有布尔变量,有些则没有。在Oracle中,“从双选择1 + 1 = 2”是一个synatx错误,因为1 + 1 = 2是一个操作,而不是表达式。你必须像其他海报所说的那样使用“案例”。但在Postgres中,“select 1 + 1 = 2”会显示“true”。

“<”的想法是一个像“+”一样的操作,除了它返回一个布尔值而不是一个int,是一个简单但功能强大的想法之一,有很大的后果......但它是在SQL之后发明的,只是慢慢地进入。

答案 3 :(得分:0)