Sql-Server

我們可以在 Transact-SQL 中的聚合函式後面加上等號 (=) 嗎?

  • June 21, 2019

我遇到過這樣的腳本:

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

我無法理解第二個關鍵字 sum 後等號 (=) 的含義。當我執行查詢時,無論有沒有等號,它都沒有顯示任何錯誤。

我想知道在關鍵字後面加上等號的目的sum。這是一個錯誤嗎?

謝謝

這記錄在UPDATE (Transact-SQL)中:

SET @variable = column = expression 將變數設置為與列相同的值。這與 SET @variable = column, column = expression 不同,後者將變數設置為列的更新前值。

在您的程式碼範例中,sum是列的(不明智的)名稱,而不是聚合。

db<>小提琴展示

引用自:https://dba.stackexchange.com/questions/240995