खोज…


वाक्य - विन्यास

  • COALESCE ([स्तंभ 1], [Column2] .... [ColumnN]

Comma-Delimited String बनाने के लिए COALESCE का उपयोग करना

हम नीचे बताए अनुसार, कई पंक्तियों का उपयोग करते हुए कई पंक्तियों से कॉमा सीमांकित स्ट्रिंग प्राप्त कर सकते हैं।

चूंकि तालिका चर का उपयोग किया जाता है, हमें एक बार पूरी क्वेरी निष्पादित करने की आवश्यकता होती है। तो समझने में आसान बनाने के लिए, मैंने BEGIN और END ब्लॉक जोड़ा है।

BEGIN

    --Table variable declaration to store sample records
    DECLARE @Table TABLE (FirstName varchar(256), LastName varchar(256))

    --Inserting sample records into table variable @Table
    INSERT INTO @Table (FirstName, LastName)
    VALUES
    ('John','Smith'),
    ('Jane','Doe')

    --Creating variable to store result          
    DECLARE @Names varchar(4000)

    --Used COLESCE function, so it will concatenate comma seperated FirstName into @Names varible
    SELECT @Names = COALESCE(@Names + ',', '') + FirstName
    FROM @Table

    --Now selecting actual result 
    SELECT @Names
    END

कोलेसस बुनियादी उदाहरण

COALESCE() तर्कों की सूची में पहला NON NULL मान लौटाता है। मान लीजिए कि हमारे पास एक तालिका थी जिसमें फ़ोन नंबर और सेल फ़ोन नंबर थे और प्रत्येक उपयोगकर्ता के लिए केवल एक लौटना चाहता था। केवल एक प्राप्त करने के लिए, हम पहला NON NULL मान प्राप्त कर सकते हैं।

DECLARE @Table TABLE (UserID int, PhoneNumber varchar(12), CellNumber varchar(12))
INSERT INTO @Table (UserID, PhoneNumber, CellNumber)
VALUES
(1,'555-869-1123',NULL),
(2,'555-123-7415','555-846-7786'),
(3,NULL,'555-456-8521')


SELECT
    UserID,
    COALESCE(PhoneNumber, CellNumber)
FROM
    @Table

स्तंभ मानों की सूची से पहला नहीं शून्य प्राप्त करना

SELECT COALESCE(NULL, NULL, 'TechOnTheNet.com', NULL, 'CheckYourMath.com');
Result: 'TechOnTheNet.com'

SELECT COALESCE(NULL, 'TechOnTheNet.com', 'CheckYourMath.com');
Result: 'TechOnTheNet.com'

SELECT COALESCE(NULL, NULL, 1, 2, 3, NULL, 4);
Result: 1


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow