Transact-SQLの集計関数の後に等号(=)を配置できますか?


11

私はこのようなスクリプトに遭遇しました:

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

2番目のキーワードの合計の後の等号(=)の意味が理解できません。クエリを実行すると、等号がある場合とない場合の両方でエラーが表示されません。

キーワードの後に​​等号を付ける目的を知りたいsum。それは間違いですか?

ありがとう

回答:


19

これは、UPDATE(Transact-SQL)に記載されています

SET @variable = column = expressionは、変数を列と同じ値に設定します。これは、変数を列の更新前の値に設定するSET @variable = column、column = expressionとは異なります。

コード例でsumは、は列の(賢明でない)名前であり、集計ではありません。

db <> fiddleデモ

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.