SQLite
 sql >> डेटाबेस >  >> RDS >> SQLite

कैसे Coalesce () SQLite में काम करता है

SQLite में, coalesce() फ़ंक्शन अपने पहले गैर-नल तर्क की एक प्रति देता है, या NULL यदि सभी तर्क NULL हैं।

यह ifnull() . के समान है फ़ंक्शन, सिवाय इसके कि coalesce() दो से अधिक तर्क स्वीकार करता है (ifnull() केवल दो तर्क स्वीकार करता है)।

सिंटैक्स

वाक्य रचना इस प्रकार है:

coalesce(X,Y,...)

इसका मतलब यह है कि आप दो या दो से अधिक तर्क दे सकते हैं। फ़ंक्शन तब पहला लौटाएगा जो NULL नहीं है।

उदाहरण

प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है।

SELECT coalesce(NULL,1);

परिणाम:

1

यहां मैंने दो तर्क दिए और coalesce() पहला गैर-शून्य मान लौटाया, जो इस मामले में 1 . है ।

अधिक उदाहरण

coalesce() . कैसे प्रदर्शित करने के लिए यहां और विविधताएं दी गई हैं प्रत्येक मामले को संभालता है।

.mode line
SELECT
  coalesce(NULL,NULL,1,2,3),
  coalesce(1,NULL,2,3),
  coalesce(NULL,3,2,1),
  coalesce(1,2,3,NULL),
  coalesce(NULL,NULL);

परिणाम:

coalesce(NULL,NULL,1,2,3) = 1
     coalesce(1,NULL,2,3) = 1
     coalesce(NULL,3,2,1) = 3
     coalesce(1,2,3,NULL) = 1
      coalesce(NULL,NULL) = 

तो यह बहुत सीधा है। यह केवल पहला तर्क देता है जो NULL नहीं है, चाहे कितने भी तर्क दिए गए हों।

यह भी ध्यान दें कि यदि सभी तर्क NULL हैं, तो यह NULL देता है।

डेटाबेस उदाहरण

यहां coalesce() . का उपयोग करने का एक उदाहरण दिया गया है डेटाबेस क्वेरी में कार्य करें।

.mode column
SELECT 
  CustomerId, 
  coalesce(Fax, 'N/A') AS Fax
FROM Customer
LIMIT 5;

परिणाम:

CustomerId  Fax          
----------  -------------
1           +55 (12) 3923
2           N/A          
3           N/A          
4           N/A          
5           +420 2 4172 5

यह coalesce() . का उपयोग किए बिना कैसा दिखता है समारोह:

.mode column
SELECT 
  CustomerId, 
  Fax
FROM Customer
LIMIT 5;

परिणाम:

CustomerId  Fax               
----------  ------------------
1           +55 (12) 3923-5566
2                             
3                             
4                             
5           +420 2 4172 5555  

तो coalesce() फ़ंक्शन NULL के बजाय एक सार्थक स्ट्रिंग लौटाने के लिए उपयोगी हो सकता है।

तीन तर्कों के साथ

तीसरा तर्क जोड़ने का एक उदाहरण यहां दिया गया है। यह हमें NULL पर पहुंचने से पहले कई विकल्पों के माध्यम से चलने की अनुमति देता है।

SELECT 
  CustomerId, 
  coalesce(Fax, Email, 'N/A') AS "Fax/Email"
FROM Customer
LIMIT 5;

परिणाम:

CustomerId  Fax/Email             
----------  ----------------------
1           +55 (12) 3923-5566    
2           [email protected] 
3           [email protected]   
4           [email protected] 
5           +420 2 4172 5555      

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Google डिस्क ऐप फ़ोल्डर में SQLlite डेटाबेस का बैकअप/पुनर्स्थापित करें

  2. SQLite आदेश द्वारा

  3. WinDeath InformDataSetChanged पर ()

  4. एंड्रॉइड का उपयोग कर एसक्लाइट में पंक्ति गणना कैसे प्राप्त करें?

  5. SQLite क्वेरी परिणामों को अल्पविराम से अलग की गई सूची के रूप में प्रारूपित करें