SQL中的CHECKSUM_AGG和WHERE条件

时间:2015-09-22 15:34:49

标签: sql-server conditional-statements checksum

我试图找出更改表的时间,但仅限于满足特定条件的行。我试过这个查询:

SELECT CHECKSUM_AGG(BINARY_CHECKSUM(LastChanged)) FROM Products WHERE Category = 2 WITH (NOLOCK)

我收到一般SQL Server错误。如果我直接执行查询,则错误为:

  

'('

附近的Incorect语法

是否可以获得满足条件的行的校验和?

1 个答案:

答案 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