Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> MySql

दिनांक फ़ील्ड द्वारा MySQL ऑर्डर दिनांक प्रारूप में नहीं है?

<घंटा/>

दिनांक फ़ील्ड द्वारा ऑर्डर करने के लिए सिंटैक्स निम्नलिखित है जो दिनांक प्रारूप में नहीं है

अपनेTableNameआदेश सेSTR_TO_DATE(yourColumnName,'%d/%m/%Y') DESC;
तक *चुनें

उपरोक्त वाक्य रचना को समझने के लिए, आइए एक तालिका बनाते हैं। तालिका बनाने की क्वेरी इस प्रकार है

mysql> टेबल ऑर्डर बनाएंByDateFormatDemo -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> ArrivalDatetime varchar(100) -> );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.73 सेकंड)

इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें। क्वेरी इस प्रकार है -

mysql> ऑर्डर में डालेंByDateFormatDemo(ArrivalDatetime) मान ('01/10/2012'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.20 सेकंड) mysql> ऑर्डर में डालेंByDateFormatDemo(ArrivalDatetime) मान ('03/11/2010');क्वेरी ओके, 1 पंक्ति प्रभावित (0.15 सेकंड) mysql> ऑर्डर में डालेंByDateFormatDemo(ArrivalDatetime) मान ('04/09/2018'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.14 सेकंड) mysql> ऑर्डर में डालेंByDateFormatDemo(ArrivalDatetime) मान ( '31/01/2019'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.17 सेकंड) mysql> ऑर्डर में डालेंByDateFormatDemo(ArrivalDatetime) मान ('21/04/2017'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.21 सेकंड) mysql> ऑर्डर में डालेंByDateFormatDemo(ArrivalDatetime) मान ('23/05/2016'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.12 सेकंड)

चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें। क्वेरी इस प्रकार है -

mysql> ऑर्डर से *ByDateFormatDemo चुनें;

निम्न आउटपुट है

<पूर्व>+----+---------------------+| आईडी | आगमन दिनांक समय |+----+-----------------+| 1 | 01/10/2012 || 2 | 03/11/2010 || 3 | 04/09/2018 || 4 | 31/01/2019 || 5 | 21/04/2017 || 6 | 23/05/2016 |+----+-----------------+6 पंक्तियों में सेट (0.00 सेकंड)

यहां दिनांक फ़ील्ड द्वारा ऑर्डर करने के लिए क्वेरी है जो दिनांक प्रारूप में नहीं है

mysql> *ऑर्डर से चुनेंByDateFormatDemo -> इसके अनुसार ऑर्डर करें -> STR_TO_DATE(ArrivalDatetime,'%d/%m/%Y') DESC;

निम्न आउटपुट है

<पूर्व>+----+---------------------+| आईडी | आगमन दिनांक समय |+----+-----------------+| 4 | 31/01/2019 || 3 | 04/09/2018 || 5 | 21/04/2017 || 6 | 23/05/2016 || 1 | 01/10/2012 || 2 | 03/11/2010 |+----+-----------------+6 पंक्तियाँ सेट में (0.04 सेकंड)
  1. MySQL क्वेरी YYYY-MM-DD को DD महीने में बदलने के लिए, YYYY दिनांक प्रारूप

    आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable845(AdmissionDate date);क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (1.10 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डेमोटेबल 845 मानों (2019-10-15) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.19 सेकंड) चयन कथन का उपयोग करके तालिका से स

  1. MySQL क्वेरी उसी फ़ील्ड पर सॉर्ट ऑर्डर करने के लिए

    इसके लिए ORDER BY IF() का इस्तेमाल करें। आइए पहले एक टेबल बनाएं - तालिका बनाएं DemoTable801 (स्कोर int);क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.69 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डेमोटेबल 801 मानों में डालें ( 79);क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.12 सेकंड) चयन क

  1. एक एकल MySQL क्वेरी में GROUP BY के साथ FIELD द्वारा ऑर्डर कैसे करें?

    इसके लिए सबसे पहले एक टेबल बनाते हैं - mysql> create table DemoTable (    Message text ); Query OK, 0 rows affected (1.15 sec) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - mysql> insert into DemoTable values('Good'); Query OK, 1 row affected (0.43 sec) mysql> i