MySQL में SUBSTRING() से घंटे/मिनट निकालकर TIME_FORMAT() से 'HH:MM' प्रारूप में बदल सकते हैं।
उदाहरण: 'HHMM' प्रारूप (1620) को 'HH:MM' (04:20) में
1. टेबल बनाएं
mysql> CREATE TABLE DemoTable1591 (ArrivalTime VARCHAR(20));
2. डेटा डालें
mysql> INSERT INTO DemoTable1591 VALUES('1620'), ('2345'), ('2210');
3. रूपांतरण क्वेरी
mysql> SELECT TIME_FORMAT(
-> CONCAT(SUBSTRING(ArrivalTime, 1, 2), ':', SUBSTRING(ArrivalTime, 3, 4)),
-> '%H:%i'
-> ) FROM DemoTable1591;
4. परिणाम
+---------------------------------------------------------------------------------------------+ | TIME_FORMAT(CONCAT(SUBSTRING(ArrivalTime, 1,2), ':', SUBSTRING(ArrivalTime, 3,4)), '%H:%i') | +---------------------------------------------------------------------------------------------+ | 16:20 | | 23:45 | | 22:10 | +---------------------------------------------------------------------------------------------+
चरण-दर-चरण
SUBSTRING(ArrivalTime, 1, 2)- पहले 2 वर्ण: '16', '23', '22'SUBSTRING(ArrivalTime, 3, 4)- 3-4 वर्ण: '20', '45', '10'CONCAT(..., ':', ...)- '16:20', '23:45', '22:10'TIME_FORMAT(..., '%H:%i')- समय प्रारूप में (24-घंटा)
12-घंटा प्रारूप के लिए
TIME_FORMAT(..., '%h:%i %p') -- 04:20 PM, 11:45 PM, 10:10 PM
बेहतर विकल्प: STR_TO_DATE (MySQL 5.7+)
SELECT STR_TO_DATE(ArrivalTime, '%H%i') FROM DemoTable1591;
सीधे VARCHAR को TIME/DATETIME में पार्स करता है। फिर TIME_FORMAT() से प्रदर्शन प्रारूप नियंत्रित करें।
CAST विकल्प
SELECT CAST(CONCAT(SUBSTRING(ArrivalTime,1,2),':',SUBSTRING(ArrivalTime,3,2)) AS TIME) FROM DemoTable1591;
डेटा सफाई सिफारिश
- संग्रहण के लिए
TIMEयाDATETIMEटाइप उपयोग करें - आवक डेटा को INSERT/UPDATE ट्रिगर या एप्लिकेशन में पार्स करें
- स्ट्रिंग समय क्वेरी/सॉर्ट/गणना के लिए अकुशल
सामान्य समय प्रारूप
| इनपुट | पैटर्न | STR_TO_DATE |
|---|---|---|
| 1620 | %H%i | STR_TO_DATE(str, '%H%i') |
| 16:20 | %H:%i | STR_TO_DATE(str, '%H:%i') |
| 4:20 PM | %h:%i %p | STR_TO_DATE(str, '%h:%i %p') |