क्या हम Transact-SQL में कुल कार्यों के बाद एक समान चिह्न (=) डाल सकते हैं?


11

मुझे इस तरह से एक स्क्रिप्ट का सामना करना पड़ा है:

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

मैं दूसरे कीवर्ड योग के बाद बराबर चिह्न (=) का अर्थ नहीं समझ सकता। जब मैं क्वेरी चलाता हूं तो यह समान चिह्न और बिना दोनों के साथ कोई त्रुटि नहीं दिखा रहा है।

मैं कीवर्ड के बाद एक समान चिह्न लगाने का उद्देश्य जानना चाहता हूं sum। वह गलती है या नहीं?

धन्यवाद

जवाबों:


19

यह UPDATE (Transact-SQL) में प्रलेखित है :

SET @ परवरिश = स्तंभ = अभिव्यक्ति चर को स्तंभ के समान मान पर सेट करता है। यह SET @variable = कॉलम, कॉलम = अभिव्यक्ति से भिन्न होता है, जो चर को स्तंभ के पूर्व-अद्यतन मान पर सेट करता है।

आपके कोड उदाहरण में, sumस्तंभ का (अविवेकपूर्ण) नाम है, न कि एक समुच्चय का।

db <> फिडेल डेमो

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.