MySQL में DATETIME से DATE और TIME कैसे पार्ट करें


84

मैं एक तालिका में DATETIME फ़ील्ड संग्रहीत कर रहा हूं । प्रत्येक मान कुछ इस तरह दिखता है: 2012-09-09 06:57:12

मैं इस वाक्यविन्यास का उपयोग कर रहा हूं:

   date("Y-m-d H:i:s");

अब मेरा प्रश्न यह है कि डेटा प्राप्त करते समय , एकल MySQL क्वेरी का उपयोग करके दिनांक और समय दोनों को अलग-अलग कैसे प्राप्त किया जा सकता है ?

दिनांक 2012-09-09 और समय 06:57:12 की तरह ।


शायद आप ढूंढ रहे हैं DATE_FORMATऔर नहीं DATEऔर TIMEक्योंकि यह आपको डिफ़ॉल्ट तिथि देगा यदि आप समय की तलाश कर रहे हैं और डिफ़ॉल्ट समय यदि आप तारीख की तलाश कर रहे हैं, तो नीचे मेरा जवाब देखें।
जॉन वू

जवाबों:


128

आप DATE_FORMAT () का उपयोग करके प्राप्त कर सकते हैं ( अधिक अन्य प्रारूपों के लिए लिंक पर क्लिक करें )

SELECT DATE_FORMAT(colName, '%Y-%m-%d') DATEONLY, 
       DATE_FORMAT(colName,'%H:%i:%s') TIMEONLY

SQLFiddle डेमो


नमस्ते, मूल्य कैसे प्राप्त करें ?? क्या मैं echo DATEONLYमुद्रण की तारीख के लिए और echo TIMEONLYसमय की छपाई के लिए उपयोग कर सकता हूँ ?? और क्या??
मिस रोजी

@MissRosy हाँ, आप अपने उपनाम ( जैसे DATEONLY और TIMEONLY ) का उपयोग अपने इच्छित मान प्राप्त करने के लिए कर सकते हैं।
जॉन वू


@MissRosy आपका स्वागत है। सबसे अच्छी बात यह है कि आप इसे अपनी इच्छानुसार किसी भी रूप में प्रारूपित कर सकते हैं।
जॉन वू

@ जॉन..हाँ..मुझे वो बात अच्छी लगती है :)
मिस रोजी

49

mysql दस्तावेज़ीकरण के अनुसार, DATE () फ़ंक्शन डेटटाइम फ़ीलैंड का दिनांक भाग और समय भाग के लिए TIME () खींच देगा। तो मैं कोशिश करूँगा:

select DATE(dateTimeFeild) as Date, TIME(dateTimeFeild) as Time, col2, col3, FROM Table1 ...

17

प्रयत्न:

SELECT DATE(`date_time_field`) AS date_part, TIME(`date_time_field`) AS time_part FROM `your_table`

यह नहीं मिलेगा DATEऔर TIMEकेवल वही होगा जो उपयोगकर्ता पूछ रहा है। यह अपनी चूक के साथ पूरी तारीख और समय देगा। इस लिंक बेचते हैं
जॉन वू

1
यह उत्पन्न होगा September, 09 2012 00:00:00-0400के लिए , DATE और January, 01 1970 03:20:38-0500के लिए समय
जॉन वू

4
ठीक है, प्रश्न के अनुसार यह 2012-09-09 तारीख_पार्टी के रूप में और 06:57:12 समय भाग के रूप में mysql में
सुधीर बस्ताकोटी

@ सुधीर..जवाब देने के लिए बहुत-बहुत धन्यवाद। यह भी सही है लेकिन..उनका DATE_FORMAT()इस्तेमाल आपको अधिक लचीला बनाता है।
मिस रोजी

1
@MissRosy का स्वागत है, और हाँ आपको ऐसे समाधान का उपयोग करना चाहिए जो सबसे अधिक सूट करता हो और अधिक लचीला हो .. :)
सुधीर बस्ताकोटी


-2

केवल दिनांक उपयोग के लिए
date("Y-m-d");

और केवल समय के उपयोग के लिए
date("H:i:s");


6
अरे अपने php के समाधान नहीं दे sql के :)
maq
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.