Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

यदि STR_TO_DATE() फंक्शन को पास किए गए दिनांक स्ट्रिंग के अनुसार निर्दिष्ट फॉर्मेट स्ट्रिंग नहीं है तो MySQL क्या लौटाता है?


यदि निर्दिष्ट फॉर्मेट स्ट्रिंग और दिनांक स्ट्रिंग मेल नहीं खाते तो MySQL चेतावनी के साथ NULL मान आउटपुट के रूप में लौटाएगा। इसे समझने के लिए निम्नलिखित उदाहरण है:

mysql> Select STR_TO_DATE('20172810', '%Y,%d%m'); 
+------------------------------------+ 
| STR_TO_DATE('20172810', '%Y,%d%m') | 
+------------------------------------+ 
| NULL                               | 
+------------------------------------+ 
1 row in set, 1 warning (0.00 sec)

उपरोक्त क्वेरी NULL आउटपुट के रूप में लौटाती है क्योंकि फॉर्मेट स्ट्रिंग में %Y के बाद कॉमा (,) है लेकिन दिनांक स्ट्रिंग में 2017 के बाद कोई कॉमा नहीं है।

mysql> Show Warnings\G 
*************************** 1. row *************************** 
Level: Warning 
Code: 1411 
Message: Incorrect datetime value: '20172810' for function str_to_date 
1 row in set (0.00 sec)

इसी तरह, फॉर्मेट स्ट्रिंग में दिनांक यूनिट के क्रम को दिनांक स्ट्रिंग से अलग करने पर, MySQL वही करेगा। इसे समझने के लिए नीचे एक उदाहरण दिया गया है:

mysql> Select STR_TO_DATE('20172810', '%d%m%Y'); 
+-----------------------------------+ 
| STR_TO_DATE('20172810', '%d%m%Y') | 
+-----------------------------------+ 
| NULL                              | 
+-----------------------------------+ 
1 row in set, 1 warning (0.00 sec)

उपरोक्त क्वेरी में, फॉर्मेट स्ट्रिंग में यूनिट का क्रम दिनांक स्ट्रिंग में यूनिट के क्रम से बदल दिया गया है।

mysql> Show Warnings\G 
*************************** 1. row *************************** 
Level: Warning 
Code: 1411 
Message: Incorrect datetime value: '20172810' for function str_to_date 
1 row in set (0.00 sec)

  1. - MySQL में STR_TO_DATE() से गैर-मानक दिनांक स्ट्रिंग को DATE में बदलें

    VARCHAR में संग्रहीत असामान्य दिनांक फॉर्मेट को DATE/DATETIME में पार्स करना जब दिनांक कॉलम VARCHAR है और फॉर्मेट मानक YYYY-MM-DD नहीं है (जैसे April 04 2019), तो STR_TO_DATE(str, format) से पार्स करें। सिंटैक्स SELECT STR_TO_DATE(date_string, format_pattern) FROM yourTable; उदाहरण: Month DD YYYY

  1. - MySQL में STR_TO_DATE और REPLACE का उपयोग करके दिनांक प्रारूप परिवर्तित करना

    MySQL में गैर-मानक दिनांक प्रारूप (जैसे MM-DD-YYYY HH:MM:SS) को मानक MySQL DATETIME प्रारूप (YYYY-MM-DD HH:MM:SS) में परिवर्तित करने के लिए STR_TO_DATE() के साथ REPLACE() का संयोजन उपयोग करें। सिंटैक्स SELECT STR_TO_DATE(REPLACE(date_string, , ), %c-%e-%Y %T) FROM table_name; व्यावहारिक उदाहरण 1.

  1. - MySQL में DATE_FORMAT() और STR_TO_DATE() के साथ डेट फॉर्मेट करना

    STR_TO_DATE और DATE_FORMAT के साथ डेट फॉर्मेट परिवर्तन स्ट्रिंग डेट को पार्स करने के लिए STR_TO_DATE() और फिर 원하는 फॉर्मेट में आउटपुट करने के लिए DATE_FORMAT() का उपयोग करें। आइए पहले एक टेबल बनाते हैं: mysql> CREATE TABLE DemoTable ( DueDate VARCHAR(100) ); रिकॉर्ड इन्सर्ट करें: mysql> INS