我试图找出更改表的时间,但仅限于满足特定条件的行。我试过这个查询:
SELECT CHECKSUM_AGG(BINARY_CHECKSUM(LastChanged)) FROM Products WHERE Category = 2 WITH (NOLOCK)
我收到一般SQL Server错误。如果我直接执行查询,则错误为:
'('
附近的Incorect语法
是否可以获得满足条件的行的校验和?
答案 0 :(得分:1)
错误是由错误放置的查询提示引起的,而不是由您使用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