J'ai rencontré un script comme celui-ci:
set @sum = sum = (case when somecol1 is null then DATEDIFF(d,[somecol2],somecol3) else 0 end)
Je ne peux pas comprendre la signification du signe égal (=) après la deuxième somme du mot clé. Lorsque j'exécute la requête, elle ne montre aucune erreur avec ou sans signe égal.
Je veux connaître le but de mettre un signe égal après le mot clé sum
. Est-ce une erreur ou non?
Merci
Ceci est documenté dans PDATE (Transact-SQL) :
SET @variable = column = expression définit la variable sur la même valeur que la colonne. Cela diffère de SET @variable = column, column = expression, qui définit la variable sur la valeur de pré-mise à jour de la colonne.
Dans votre exemple de code, sum
est le nom (imprudent) d'une colonne, pas un agrégat.