CHECKSUM_AGG 和 SQL 中的 WHERE 条件
CHECKSUM_AGG and WHERE conditions in SQL
我试图查明 table 何时被更改,但仅限于满足特定条件的行。我试过这个查询:
SELECT CHECKSUM_AGG(BINARY_CHECKSUM(LastChanged)) FROM Products WHERE Category = 2 WITH (NOLOCK)
然后我收到一般 SQL 服务器错误。如果我直接执行查询,错误是:
Incorect syntax near '('
是否可以只获取满足条件的行的校验和?
错误是由错误放置的查询提示引起的,而不是由您使用 CHECKSUM
表达式引起的。
尽管阅读 whether you should really be using NOLOCK
at all 可能会有所帮助,但请尝试将 WITH (NOLOCK)
放在 FROM
之后:
SELECT CHECKSUM_AGG(BINARY_CHECKSUM(LastChanged))
FROM Products WITH (NOLOCK)
WHERE Category = 2
我试图查明 table 何时被更改,但仅限于满足特定条件的行。我试过这个查询:
SELECT CHECKSUM_AGG(BINARY_CHECKSUM(LastChanged)) FROM Products WHERE Category = 2 WITH (NOLOCK)
然后我收到一般 SQL 服务器错误。如果我直接执行查询,错误是:
Incorect syntax near '('
是否可以只获取满足条件的行的校验和?
错误是由错误放置的查询提示引起的,而不是由您使用 CHECKSUM
表达式引起的。
尽管阅读 whether you should really be using NOLOCK
at all 可能会有所帮助,但请尝试将 WITH (NOLOCK)
放在 FROM
之后:
SELECT CHECKSUM_AGG(BINARY_CHECKSUM(LastChanged))
FROM Products WITH (NOLOCK)
WHERE Category = 2