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

mysql में ifnull और colesce के बीच क्या अंतर है?

दोनों में मुख्य अंतर यह है कि IFNULL फ़ंक्शन दो तर्क लेता है और पहला तर्क देता है यदि यह NULL नहीं है या दूसरा यदि पहला है NULL

COALESCE फ़ंक्शन दो या अधिक पैरामीटर ले सकता है और पहला गैर-नल पैरामीटर, या NULL लौटाता है यदि सभी पैरामीटर शून्य हैं, उदाहरण के लिए:

SELECT IFNULL('some value', 'some other value');
-> returns 'some value'

SELECT IFNULL(NULL,'some other value');
-> returns 'some other value'

SELECT COALESCE(NULL, 'some other value');
-> returns 'some other value' - equivalent of the IFNULL function

SELECT COALESCE(NULL, 'some value', 'some other value');
-> returns 'some value'

SELECT COALESCE(NULL, NULL, NULL, NULL, 'first non-null value');
-> returns 'first non-null value'

अद्यतन करें: MSSQL सख्त प्रकार और पैरामीटर जाँच करता है। इसके अलावा, इसमें IFNULL नहीं है फ़ंक्शन लेकिन इसके बजाय ISNULL फ़ंक्शन, जिसे तर्कों के प्रकारों को जानने की आवश्यकता है। इसलिए:

SELECT ISNULL(NULL, NULL);
-> results in an error

SELECT ISNULL(NULL, CAST(NULL as VARCHAR));
-> returns NULL

साथ ही COALESCE MSSQL में फ़ंक्शन को गैर-शून्य होने के लिए कम से कम एक पैरामीटर की आवश्यकता होती है, इसलिए:

SELECT COALESCE(NULL, NULL, NULL, NULL, NULL);
-> results in an error

SELECT COALESCE(NULL, NULL, NULL, NULL, 'first non-null value');
-> returns 'first non-null value'


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL:10 मिनट से अधिक पुरानी सभी पंक्तियों को हटा दें

  2. एक मान घटाकर एक कॉलम अपडेट करें

  3. MySQL, एक क्वेरी के साथ कई टेबल अपडेट करें

  4. ASCII () उदाहरण – MySQL

  5. क्या मुझे डेटाबेस का उपयोग करने वाले प्रत्येक फ़ंक्शन में एक php mysql कनेक्शन की आवश्यकता है?