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

date_format के साथ mysql तारीख की तुलना

आपका प्रारूप मूल रूप से शुरू करने के लिए क्रमबद्ध नहीं है - आप स्ट्रिंग्स . की तुलना कर रहे हैं , और स्ट्रिंग "28-10-2012" है "02-11-2012" से बड़ा।

इसके बजाय, आपको तारीखों की तुलना तारीखों के रूप में . करनी चाहिए , और उसके बाद ही उन्हें आउटपुट के लिए अपने लक्ष्य प्रारूप में परिवर्तित करें।

इसे आजमाएं:

select date_format(date(starttime),'%d-%m-%Y') from data
where date(starttime) >= date '2012-11-02';

(इनपुट हमेशा साल-महीने-मूल्य के रूप में होना चाहिए, दस्तावेज़ीकरण ।)

ध्यान दें कि यदि starttime एक DATETIME है फ़ील्ड में, आप बार-बार रूपांतरण से बचने के लिए क्वेरी बदलने पर विचार कर सकते हैं। (ऑप्टिमाइज़र इससे बचने के लिए पर्याप्त रूप से स्मार्ट हो सकता है, लेकिन यह जाँच के लायक है।)

select date_format(date(starttime),'%d-%m-%Y') from data
where starttime >= '2012-11-02 00:00:00';

(ध्यान दें कि किसी तिथि को d-m-Y . के रूप में प्रारूपित करना असामान्य है शुरू करने के लिए - y-M-d . का उपयोग करना बेहतर होगा सामान्य तौर पर, ISO-8601 मानक आदि होने के कारण, उपरोक्त कोड वही करता है जो आपने प्रश्न में पूछा था।)



  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 में सबसे लोकप्रिय शब्द घटनाएँ कैसे खोजें?

  2. टाइमस्टैम्प को धीमी क्वेरी कैसे सेट कर सकते हैं?

  3. पायथन MySQLdb कनेक्शन के लिए SSH टनल

  4. जावा JDBC MySQL अपवाद:परिणामसेट बंद होने के बाद ऑपरेशन की अनुमति नहीं है

  5. com.mysql.jdbc.PacketTooBigException