MySQL में अलग-अलग DATE और TIME कॉलम को जोड़कर DATETIME/TIMESTAMP बनाना
सिंटैक्स:
SELECT CAST(CONCAT(yourDateColumnName, ' ', yourTimeColumnName) AS DATETIME) AS anyVariableName FROM yourTableName;
चरण:
CONCAT(date, ' ', time)→ 'YYYY-MM-DD HH:MM:SS' स्ट्रिंग बनाता हैCAST(... AS DATETIME)→ स्ट्रिंग को DATETIME टाइप में बदलता है
व्यावहारिक उदाहरण
1. टेबल बनाएं (अलग DATE और TIME कॉलम):
mysql> CREATE TABLE DateAndTimeToTimestamp (
-> Duedate DATE,
-> DueTime TIME
-> );
Query OK, 0 rows affected (0.51 sec)
2. डेटा डालें:
mysql> INSERT INTO DateAndTimeToTimestamp VALUES(DATE_ADD(CURDATE(), INTERVAL 2 DAY), '10:30:02'); mysql> INSERT INTO DateAndTimeToTimestamp VALUES(DATE_ADD(CURDATE(), INTERVAL -2 DAY), '12:20:45'); mysql> INSERT INTO DateAndTimeToTimestamp VALUES(DATE_ADD(CURDATE(), INTERVAL 1 DAY), '01:32:42'); mysql> INSERT INTO DateAndTimeToTimestamp VALUES(DATE_ADD(CURDATE(), INTERVAL -1 DAY), '14:25:58');
3. मूल डेटा:
+------------+----------+ | Duedate | DueTime | +------------+----------+ | 2018-12-16 | 10:30:02 | | 2018-12-12 | 12:20:45 | | 2018-12-15 | 01:32:42 | | 2018-12-13 | 14:25:58 | +------------+----------+ 4 rows in set (0.00 sec)
4. CONCAT से जोड़ें (स्ट्रिंग परिणाम):
mysql> SELECT CONCAT(Duedate, ' ', DueTime) AS timestampDemo
-> FROM DateAndTimeToTimestamp;
+---------------------+ | timestampDemo | +---------------------+ | 2018-12-16 10:30:02 | | 2018-12-12 12:20:45 | | 2018-12-15 01:32:42 | | 2018-12-13 14:25:58 | +---------------------+ 4 rows in set (0.00 sec)
5. CAST से DATETIME टाइप में बदलें:
SELECT CAST(CONCAT(Duedate, ' ', DueTime) AS DATETIME) AS combined_datetime FROM DateAndTimeToTimestamp;
सरल विकल्प (स्ट्रिंग कॉन्टैक्स्ट में ऑटो-कास्ट):
SELECT CONCAT(Duedate, ' ', DueTime) AS combined FROM DateAndTimeToTimestamp;
अधिकांश संदर्भों में MySQL स्ट्रिंग को ऑटोमेटिकली DATETIME में कास्ट कर देता है।
विपरीत: DATETIME को DATE और TIME में अलग करें:
SELECT DATE(datetime_col) AS date_part, TIME(datetime_col) AS time_part FROM table;
उपयोग केस:
- विरासत स्कीमा जहां डेटा/समय अलग कॉलम में हैं
- रिपोर्टिंग के लिए संयुक्त टाइमस्टैम्प बनाना
- समय-श्रृंखला विश्लेषण के लिए डेटा तैयार करना