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

एक कॉलम चुनें अगर दूसरा खाली है

ANSI का अर्थ है COALESCE का उपयोग करना :

SELECT COALESCE(a2.date, a1.date) AS `date`
   ...

MySQL नेटिव सिंटैक्स IFNULL :

SELECT IFNULL(a2.date, a1.date) AS `date`
   ...

COALESCE के विपरीत, IFNULL अन्य डेटाबेस के लिए पोर्टेबल नहीं है।

एक और एएनएसआई सिंटैक्स, CASE एक्सप्रेशन , एक विकल्प है:

SELECT CASE
         WHEN a2.date IS NULL THEN a1.date
         ELSE a2.date
       END AS `date`
   ...

इसे ठीक से काम करने के लिए अधिक दिशा की आवश्यकता होती है, लेकिन यदि आवश्यकताएं बदलती हैं तो यह अधिक लचीली होती है।



  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 में LIMIT 1 का उपयोग करना

  2. MYSQL में एक स्ट्रिंग का हिस्सा हटाना

  3. रेल में आगामी जन्मदिन मॉड्यूल कैसे बनाएं?

  4. क्या मुझे टेबल कॉलम में कोई डेटा नहीं दर्शाने के लिए NULL या खाली स्ट्रिंग का उपयोग करना चाहिए?

  5. mysql धीमी क्वेरी