मेरे पास एक प्रश्न है जो दो वस्तुओं के बीच सभी वस्तुओं की कीमतों की गणना करता है। यहां चयन कथन है:SQL फ़ंक्शन से एकल मान प्राप्त करते समय मैं NULL को 0 कैसे बदल सकता हूं?
SELECT SUM(Price) AS TotalPrice
FROM Inventory
WHERE (DateAdded BETWEEN @StartDate AND @EndDate)
आप मान सकते हैं कि सभी तालिकाओं को ठीक से स्थापित किया गया है।
अगर मैं दो तिथियों के बीच एक का चयन करते हैं और वहाँ उस समय अवधि के भीतर कोई आइटम नहीं है, समारोह शून्य TotalPrice बजाय 0.
कैसे मुझे यकीन है कि अगर कोई रिकॉर्ड पाया जाता है, 0 से कर सकते हैं के रूप में देता है नल के बजाय वापस आ जाता है?
यदि आप कोई प्रश्न नहीं देखते हैं तो वह 0 को वापस लौटाता है, तो यह केवल तभी काम करेगा जब योग का परिणाम शून्य है – Tetraneutron
@Tetraneutron: मुझे लगता है कि यह काम करेगा। यदि कोई पंक्ति नहीं है तो राशि (मूल्य) शून्य होगी, लेकिन हमेशा एक परिणाम पंक्ति होगी। – Thilo
COALESCE तब तक ठीक काम करता है जब आप इसे चलाने के लिए एक पंक्ति वापस प्राप्त कर रहे हैं (जो आप इस मामले में करते हैं)। यदि आपको कोई पंक्ति वापस नहीं मिलती है तो COALESCE आपकी सहायता नहीं करेगा। –