Transact-SQL'de toplama işlevlerinden sonra eşittir işareti (=) koyabilir miyiz?


11

Böyle bir komut dosyası ile karşılaştım:

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

İkinci anahtar kelime toplamından sonra eşittir işaretinin (=) anlamını anlayamıyorum. Sorguyu çalıştırdığımda, hem eşittir işaretiyle hem de olmadan herhangi bir hata göstermiyor.

Anahtar kelimeden sonra eşittir işareti koymanın amacını bilmek istiyorum sum. Bu bir hata mı, değil mi?

Teşekkürler

Yanıtlar:


19

Bu UPDATE (Transact-SQL) belgelenmiştir :

SET @variable = column = expression, değişkeni sütunla aynı değere ayarlar. Bu, değişkeni sütunun ön güncelleme değerine ayarlayan SET @variable = column, column = expression'dan farklıdır.

Kod örneğinizde, sumbir toplamanın değil, bir sütunun (yanlış) adıdır.

db <> keman demosu

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.