我们可以在Transact-SQL中的聚合函数后面加上等号(=)吗?


11

我遇到了这样的脚本:

set @sum = sum = (case when somecol1 is null then DATEDIFF(d,[somecol2],somecol3) else 0 end)

我无法理解第二个关键字sum之后的等号(=)的含义。当我运行查询时,无论是否带有等号都不会显示任何错误。

我想知道在关键字之后加上等号的目的sum。那是不是一个错误?

谢谢

Answers:


19

这记录在UPDATE(Transact-SQL)中

SET @variable = column =表达式将变量设置为与列相同的值。这不同于SET @variable = column,column =表达式,后者将变量设置为该列的更新前值。

在您的代码示例中,sum是列的(不明智的)名称,而不是集合的名称。

db <> fiddle演示

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.