SELECT * FROM TABLE_NAME
WHERE
([DateOfLastTransaction] <> @p29)
OR ([DateOfLastTransaction] <> @p30)
@p29='2012-11-30 00:00:00.000', 3 records
@p30='2012-04-17 00:00:00.000' 1 record
我从 SQL 探查器获取查询并删除了不必要的位。删除 OR 和 @p30 参数将返回 3 条记录。是“OR”影响它吗?
我有 4 条记录(需要排除)和 2 个日期,但我的查询不起作用。这是为什么?我是不是在做一些非常愚蠢的事情?
最佳答案
我相信您打算使用 AND
逻辑运算符。例如
SELECT *
FROM Table_Name
WHERE
[DateOfLastTransaction] != @p29
AND [DateOfLastTransaction] != @p30
所有内容都将通过 OR
运算符返回,因为 [DateOfLastTransaction]
可能在第一次逻辑比较中合格,但在第二次逻辑比较中无效。
关于sql - TSQL 关于日期的不等于运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16065364/