Podemos colocar um sinal de igual (=) após funções agregadas no Transact-SQL?


11

Eu encontrei um script como este:

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

Não consigo entender o significado do sinal de igual (=) após a segunda soma da palavra-chave. Quando executo a consulta, ela não mostra nenhum erro com o sinal de igual e sem.

Quero saber o objetivo de colocar um sinal de igual após a palavra-chave sum. Isso é um erro ou não?

obrigado

Respostas:


19

Isso está documentado em UPDATE (Transact-SQL) :

SET @variable = column = expression define a variável para o mesmo valor que a coluna. Isso difere de SET @variable = column, column = expression, que define a variável para o valor de pré-atualização da coluna.

No seu exemplo de código, sumé o nome (imprudente) de uma coluna, não um agregado.

db <> demo de violino

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.