2013-06-05 7 views
6

मेरे पास इस प्रारूप में डीडी/एमएम/वाईवाईवाईवाई में एक फ़ील्ड है और मुझे इस क्षेत्र द्वारा डीईएससी के परिणामों को ऑर्डर करने की आवश्यकता है, लेकिन इसे VARCHAR के रूप में सहेजा गया है और मैं नहीं कर सकता इसे बदलो। क्या आसपास कोई काम है?MySQL ORDER तिथि फ़ील्ड जो दिनांक प्रारूप में नहीं है

वास्तव में मेरे लिए फ़ील्ड प्रकार बदलने का कोई तरीका नहीं है, इसलिए कृपया यह न कहें कि ऐसा करने का यह एक बुरा तरीका है जैसा कि मुझे पहले से ही पता है। मुझे सिर्फ यह जानना है कि यह संभव है या नहीं।

अग्रिम में किसी भी मदद और सलाह के लिए धन्यवाद।

+3

http://stackoverflow.com/questions/3296725/ parse-date-in-mysql –

उत्तर

15

आप निम्न माध्यम से यह कर सकते हैं,

0,123,
SELECT ... 
FROM ... 
ORDER BY STR_TO_DATE(yourDate,'%d-%m-%Y') DESC 
+0

ओपी तिथि प्रारूप '% d-% एम-% वाई' – Raptor

+0

नहीं है, इसे एक छोटा सा चाहिए लेकिन अन्यथा सही है। % डी /% एम /% वाई – Somk

+0

यूप धन्यवाद :) :) –

0

उपयोग इस

STR_TO_DATE

SELECT * FROM table_name ORDER BY STR_TO_DATE(date_field, '%d-%M-%Y') DESC 
0
ORDER BY CONCAT(SUBSTR(field, 7, 4), SUBSTR(field, 4, 2), SUBSTR(field, 1, 2)) DESC 
0

उपयोग STR_TO_DATE() MySQL समारोह:

SELECT * FROM your_table ORDER BY STR_TO_DATE(your_date_column, '%d/%M/%Y') DESC; 

sidenote:STR_TO_DATE तिथि करने के लिए स्ट्रिंग में कनवर्ट करता है, जबकि DATE_FORMAT स्ट्रिंग के लिए दिनांक धर्मान्तरित

संबंधित मुद्दे