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

MySQL में डेटा और समय कॉलम को मिलाकर टाइमस्टैम्प बनाएं: CONCAT + CAST

MySQL में अलग-अलग DATE और TIME कॉलम को जोड़कर DATETIME/TIMESTAMP बनाना

सिंटैक्स:

SELECT CAST(CONCAT(yourDateColumnName, ' ', yourTimeColumnName) AS DATETIME) AS anyVariableName 
FROM yourTableName;

चरण:

  1. CONCAT(date, ' ', time) → 'YYYY-MM-DD HH:MM:SS' स्ट्रिंग बनाता है
  2. 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;

उपयोग केस:

  • विरासत स्कीमा जहां डेटा/समय अलग कॉलम में हैं
  • रिपोर्टिंग के लिए संयुक्त टाइमस्टैम्प बनाना
  • समय-श्रृंखला विश्लेषण के लिए डेटा तैयार करना
  1. - MySQL में DATETIME कॉलम को डेट और टाइम में विभाजित करना

    CAST() फंक्शन का उपयोग MySQL में CAST() फंक्शन का उपयोग करके DATETIME मान को अलग-अलग DATE और TIME भागों में विभाजित किया जा सकता है। उदाहरण: टेबल बनाना और डेटा इन्सर्ट करना mysql> CREATE TABLE DemoTable805(LoginDate DATETIME); Query OK, 0 rows affected (0.63 sec) रिकॉर्ड्स इन्सर्ट करना mysql>

  1. - MySQL में ALTER TABLE का उपयोग करके तारीख कॉलम को NULL अनुमति दें

    ALTER TABLE ... MODIFY COLUMN का उपयोग करके NOT NULL प्रतिबंध को हटाएं और तारीख कॉलम में NULL मानों की अनुमति दें। सिंटैक्स ALTER TABLE yourTableName MODIFY COLUMN yourColumnName DATE NULL; NOT NULL के साथ टेबल बनाना CREATE TABLE DemoTable (ShippingDate DATE NOT NULL); Query OK, 0 rows affected (

  1. - MySQL में टाइमस्टैम्प और एनम दोनों द्वारा सॉर्ट करने का क्वेरी

    इसके लिए आप ORDER BY DATE() का उपयोग कर सकते हैं। आइए पहले एक टेबल बनाते हैं। यहाँ DATE टाइप का एक कॉलम और ENUM टाइप का दूसरा कॉलम है: mysql> create table DemoTable -> ( -> JoiningDate date, -> Status ENUM(Good,Excellent,Bad) -> ); Query OK, 0 rows affected (0.58 sec) इन्सर्ट कमांड क