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

एसक्यूएल:मैं किसी फ़ील्ड द्वारा ऑर्डर कैसे करूं यदि यह शून्य नहीं है तो किसी अन्य फ़ील्ड का उपयोग करें

आप COALESCE का उपयोग कर सकते हैं :

ORDER BY COALESCE(dtModified, dtPosted)

एक अन्य विकल्प MySQL विशिष्ट फ़ंक्शन का उपयोग करना है IFNULL COALESCE . के बजाय ।

MySQL पर परीक्षण:

CREATE TABLE table1 (dtModified DATETIME NULL, dtPosted DATETIME NOT NULL);
INSERT INTO table1 (dtModified, dtPosted) VALUES
('2010-07-31 10:00:00', '2010-07-30 10:00:00'),
(NULL                 , '2010-07-31 09:00:00'),
('2010-07-31 08:00:00', '2010-07-30 10:00:00');

SELECT dtModified, dtPosted
FROM table1
ORDER BY COALESCE(dtModified, dtPosted)

परिणाम:

dtModified           dtPosted
2010-07-31 08:00:00  2010-07-30 10:00:00
NULL                 2010-07-31 09:00:00
2010-07-31 10:00:00  2010-07-30 10:00:00


  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_ कार्यों को mysqli_ से बदल सकता हूँ?

  2. डेटाबेस mysql में समानार्थक शब्दों को संग्रहीत और पुनर्प्राप्त करने का सबसे अच्छा तरीका

  3. mysql_fetch_array, mysql_fetch_assoc, mysql_fetch_object

  4. MySQL क्वेरी, 3 टेबल, t1-t2 फिर t3 अपडेट करें। मैं इसे सबसे कुशल तरीका कैसे कर सकता हूं?

  5. MySQL - DECIMAL(2, 2) में 1 का मान 0.99 . के रूप में सामने आ रहा है