MySQL STR_TO_DATE()
फ़ंक्शन आपको विभिन्न दिनांक भागों से दिनांक मान बनाने की अनुमति देता है।
इस फ़ंक्शन का उपयोग करते समय, आप विभिन्न दिनांक भागों की एक स्ट्रिंग प्रदान करते हैं, और दूसरा तर्क जो उस प्रारूप को निर्दिष्ट करता है जिसमें दिनांक प्रदान किया गया है।
सिंटैक्स
वाक्य रचना इस प्रकार है:
STR_TO_DATE(str,format)
जहां str
वह स्ट्रिंग है जिसमें दिनांक भाग होते हैं, और प्रारूप प्रारूप स्ट्रिंग है (यह निर्धारित करता है कि str
तर्क स्वरूपित है)।
उदाहरण 1 - मूल उपयोग
प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है।
SELECT STR_TO_DATE('31,12,1999','%d,%m,%Y');
परिणाम:
+--------------------------------------+ | STR_TO_DATE('31,12,1999','%d,%m,%Y') | +--------------------------------------+ | 1999-12-31 | +--------------------------------------+
उदाहरण 2 - प्रारूप स्ट्रिंग का क्रम
प्रारूप स्ट्रिंग को दिनांक स्ट्रिंग में दिए गए मानों से मेल खाना चाहिए। उदाहरण के लिए, आप निम्न कार्य नहीं कर सकते:
SELECT STR_TO_DATE('31,12,1999','%m,%d,%Y');
परिणाम:
+--------------------------------------+ | STR_TO_DATE('31,12,1999','%m,%d,%Y') | +--------------------------------------+ | NULL | +--------------------------------------+
यह काम नहीं करने का कारण यह है कि हम महीने को 31 का मान रखने के लिए बाध्य करने की कोशिश कर रहे हैं, लेकिन एक वर्ष में केवल 12 महीने हैं। तो इसका परिणाम अमान्य दिनांक मान होगा।
इसलिए आपको इस फ़ंक्शन का उपयोग करते समय सावधान रहने की आवश्यकता होगी, खासकर जब दिन का मान 12 या उससे कम हो, अन्यथा आप महीने और दिन के मूल्यों को बिना देखे ही बदल सकते हैं।
उदाहरण के लिए, इस तरह:
SELECT STR_TO_DATE('07,12,1999','%d,%m,%Y'), STR_TO_DATE('07,12,1999','%m,%d,%Y');
परिणाम:
+--------------------------------------+--------------------------------------+ | STR_TO_DATE('07,12,1999','%d,%m,%Y') | STR_TO_DATE('07,12,1999','%m,%d,%Y') | +--------------------------------------+--------------------------------------+ | 1999-12-07 | 1999-07-12 | +--------------------------------------+--------------------------------------+
इस मामले में, हमें पिछले उदाहरण की तरह NULL मान नहीं मिलता है, क्योंकि दोनों 07
और 12
एक दिन या एक महीना हो सकता है।
उदाहरण 3 - प्रारूप स्ट्रिंग का मिलान करना
भले ही प्रारूप स्ट्रिंग सही क्रम में हो, यह पहले तर्क में दिए गए दिनांक भागों के प्रारूप से भी मेल खाना चाहिए।
तो उदाहरण के लिए, आप ऐसा नहीं कर सकते:
SELECT STR_TO_DATE('31 Dec, 1999','%d,%m,%Y');
परिणाम:
+----------------------------------------+ | STR_TO_DATE('31 Dec, 1999','%d,%m,%Y') | +----------------------------------------+ | NULL | +----------------------------------------+
इस मामले में, हमें कुछ ऐसा करना होगा:
SELECT STR_TO_DATE('31 Dec, 1999','%d %M, %Y');
परिणाम:
+-----------------------------------------+ | STR_TO_DATE('31 Dec, 1999','%d %M, %Y') | +-----------------------------------------+ | 1999-12-31 | +-----------------------------------------+
उदाहरण 4 - GET_FORMAT() फ़ंक्शन का उपयोग करना
आप GET_FORMAT()
. भी पास कर सकते हैं दूसरे तर्क के रूप में कार्य करें।
यहाँ एक उदाहरण है।
SELECT STR_TO_DATE('12.07.1999', GET_FORMAT(DATE, 'USA'));
परिणाम:
+----------------------------------------------------+ | STR_TO_DATE('12.07.1999', GET_FORMAT(DATE, 'USA')) | +----------------------------------------------------+ | 1999-12-07 | +----------------------------------------------------+
उदाहरण 5 - डेटाटाइम मान
आप इस फ़ंक्शन का उपयोग समय या डेटाटाइम मान वापस करने के लिए भी कर सकते हैं।
यहां डेटाटाइम मान का उपयोग करने का एक उदाहरण दिया गया है।
SELECT STR_TO_DATE('31/12/1999 09:30:17','%d/%m/%Y %H:%i:%s');
परिणाम:
+--------------------------------------------------------+ | STR_TO_DATE('31/12/1999 09:30:17','%d/%m/%Y %H:%i:%s') | +--------------------------------------------------------+ | 1999-12-31 09:30:17 | +--------------------------------------------------------+
स्वरूप स्ट्रिंग विनिर्देशक
प्रारूप स्ट्रिंग में निम्नलिखित विनिर्देशकों का उपयोग किया जा सकता है। इनके अलावा, आप प्रारूप स्ट्रिंग में शाब्दिक स्ट्रिंग्स का भी उपयोग कर सकते हैं।
विनिर्देशक | <थ>विवरण|
---|---|
%a | संक्षिप्त कार्यदिवस का नाम (Sun ..Sat ) |
%b | संक्षिप्त महीने का नाम (Jan ..Dec ) |
%c | माह, अंकीय (0 ..12 ) |
%D | अंग्रेज़ी प्रत्यय के साथ महीने का दिन (0th , 1st , 2nd , 3rd , ...) |
%d | महीने का दिन, अंकीय (00 ..31 ) |
%e | महीने का दिन, अंकीय (0 ..31 ) |
%f | माइक्रोसेकंड (000000 ..999999 ) |
%H | घंटा (00 ..23 ) |
%h | घंटा (01 ..12 ) |
%I | घंटा (01 ..12 ) |
%i | मिनट, अंकीय (00 ..59 ) |
%j | वर्ष का दिन (001 ..366 ) |
%k | घंटा (0 ..23 ) |
%l | घंटा (1 ..12 ) |
%M | महीने का नाम (Jan ..Dec ) |
%m | माह, अंकीय (00 ..12 ) |
%p | AM या PM |
%r | समय, 12-घंटे (hh:mm:ss उसके बाद AM या PM ) |
%S | सेकंड (00 ..59 ) |
%s | सेकंड (00 ..59 ) |
%T | समय, 24 घंटे (hh:mm:ss ) |
%U | सप्ताह (00 ..53 ), जहां रविवार सप्ताह का पहला दिन है; WEEK() मोड 0 |
%u | सप्ताह (00 ..53 ), जहां सोमवार सप्ताह का पहला दिन है; WEEK() मोड 1 |
%V | सप्ताह (01 ..53 ), जहां रविवार सप्ताह का पहला दिन है; WEEK() मोड 2; %X . के साथ प्रयोग किया जाता है |
%v | सप्ताह (01 ..53 ), जहां सोमवार सप्ताह का पहला दिन है; WEEK() मोड 3; %x . के साथ प्रयोग किया जाता है |
%W | कार्यदिवस का नाम (Sunday ..Saturday ) |
%w | सप्ताह का दिन (0 =रविवार..6 =शनिवार) |
%X | सप्ताह का वर्ष जहां रविवार सप्ताह का पहला दिन है, अंकीय, चार अंक; %V . के साथ प्रयोग किया जाता है |
%x | सप्ताह का वर्ष, जहां सोमवार सप्ताह का पहला दिन है, अंकीय, चार अंक; %v . के साथ प्रयोग किया जाता है |
%Y | वर्ष, अंकीय, चार अंक |
%y | वर्ष, अंकीय (दो अंक) |
%% | एक शाब्दिक % चरित्र |
% | x , किसी भी “x . के लिए ” ऊपर सूचीबद्ध नहीं है |