समस्या:
आप MySQL में एक स्ट्रिंग मान से समय निकालना चाहते हैं।
उदाहरण:
आपके पास एक स्ट्रिंग मान है जो इस तरह दिखता है:
‘Wednesday, 10 February 2021, 12:30:20’
आप केवल समय भाग '12:30:20' निकालना चाहते हैं।
समाधान:
ये रही क्वेरी:
SELECT DATE_FORMAT(STR_TO_DATE("Wednesday, 10 February 2021, 12:30:20", "%W, %d-%m-%Y, %T"), "%T");
चर्चा:
प्रक्रिया को और स्पष्ट रूप से समझाने के लिए, हम इसे दो भागों में समझाएंगे।
सबसे पहले, हमें स्ट्रिंग को दिनांक मान में बदलना होगा। ऐसा करने के लिए, हम STR_TO_DATE
. का उपयोग करते हैं समारोह। क्वेरी इस तरह दिखनी चाहिए:
SELECT STR_TO_DATE("Wednesday, 10 February 2021, 12:30:20", "%W, %d-%m-%Y, %T”);
STR_TO_DATE
. का उद्देश्य फ़ंक्शन टेक्स्ट स्ट्रिंग को डेटाटाइम प्रारूप में कनवर्ट करना है। इस फ़ंक्शन का सिंटैक्स इस प्रकार है:
STR_TO_DATE(string, format);
इस फ़ंक्शन का पहला तर्क वह स्ट्रिंग है जिसे हम कनवर्ट करना चाहते हैं। दूसरा तर्क स्ट्रिंग के प्रारूप को निर्दिष्ट करता है। हमारे मामले में, हम निम्नलिखित मापदंडों का उपयोग करते हैं:
- %W:रविवार से शनिवार तक कार्यदिवस का नाम।
- %d:01 से 31 तक अंकीय मान के रूप में महीने का दिन।
- %m:01 से 12 तक संख्यात्मक मान के रूप में महीना।
- %Y:वर्ष एक 4-अंकीय संख्यात्मक मान (yyyy) के रूप में।
- %T:24 घंटे के प्रारूप में समय (hh:mm:ss)।
आप MySQL के आधिकारिक दस्तावेज़ीकरण में अधिक पैरामीटर पा सकते हैं।
इस क्वेरी का परिणाम इस तरह दिखना चाहिए:
2021-02-10 12:30:20
अब हमारे पास DATETIME डेटा प्रकार में मान है। केवल समय निकालने के लिए, हमें DATE_FORMAT
. जोड़ना होगा उपरोक्त क्वेरी के लिए कार्य करें।
DATE_FORMAT
. का सामान्य सिंटैक्स समारोह है:
DATE_FORMAT(date, format)
तब हमारी क्वेरी इस तरह दिखनी चाहिए:
SELECT DATE_FORMAT(STR_TO_DATE("Wednesday, 10 February 2021, 12:30:20", "%W, %d-%m-%Y, %T"), "%T");
हमारे उदाहरण में, DATE_FORMAT
. का पहला तर्क फ़ंक्शन STR_TO_DATE
. से उत्पन्न होने वाली तिथि है समारोह। दूसरा तर्क प्रारूप है, जो उसी तरह काम करता है जैसे वह STR_TO_DATE
में करता है समारोह। चूँकि हमें यहाँ केवल समय की आवश्यकता है, हम निर्दिष्ट करते हैं "%T
" दूसरे तर्क के रूप में।
फॉर्मेट स्पेसिफायर कैरेक्टर से पहले % कैरेक्टर अनिवार्य है। हमें सभी विराम चिह्नों सहित प्रारूप को ठीक उसी क्रम में निर्दिष्ट करना होगा।
नीचे हम जो क्वेरी परिणाम देख रहे हैं, वह अपेक्षित परिणाम है।
12:30:20
इन दो कार्यों के संयोजन का उपयोग करके, आप टेक्स्ट स्ट्रिंग से दिनांक और समय के हर संभव संयोजन को निकाल सकते हैं।