FROM_UNIXTIME() फ़ंक्शन का उपयोग
MySQL में यूनिक्स टाइमस्टैम्प (सेकंड में पूर्णांक) को DATETIME में बदलने के लिए FROM_UNIXTIME() फ़ंक्शन का उपयोग करें।
सिंटैक्स
SELECT FROM_UNIXTIME(yourColumnName, '%Y-%m-%d') AS AnyVariableName
FROM yourTableName;
दूसरा पैरामीटर वैकल्पिक फॉर्मेट स्ट्रिंग है (डिफ़ॉल्ट: %Y-%m-%d %H:%i:%s)।
व्यावहारिक उदाहरण
1. टेबल बनाएं
mysql> CREATE TABLE IntToDateDemo (
-> Number INT
-> );
Query OK, 0 rows affected (0.59 sec)
2. यूनिक्स टाइमस्टैम्प डालें
mysql> TRUNCATE TABLE IntToDateDemo;
mysql> INSERT INTO IntToDateDemo VALUES(1545284721);
mysql> INSERT INTO IntToDateDemo VALUES(1576820738);
mysql> INSERT INTO IntToDateDemo VALUES(1513748752);
mysql> INSERT INTO IntToDateDemo VALUES(1671515204);
3. डेटा देखें
mysql> SELECT * FROM IntToDateDemo;
+------------+
| Number |
+------------+
| 1545284721 |
| 1576820738 |
| 1513748752 |
| 1671515204 |
+------------+
4 rows in set (0.00 sec)
4. DATETIME में बदलें (केवल दिनांक फॉर्मेट)
mysql> SELECT FROM_UNIXTIME(Number, '%Y-%m-%d') AS DateDemo
-> FROM IntToDateDemo;
+------------+
| DateDemo |
+------------+
| 2018-12-20 |
| 2019-12-20 |
| 2017-12-20 |
| 2022-12-20 |
+------------+
4 rows in set (0.00 sec)
पूर्ण टाइमस्टैम्प के लिए
SELECT FROM_UNIXTIME(Number) AS DateTimeDemo FROM IntToDateDemo;
+---------------------+
| DateTimeDemo |
+---------------------+
| 2018-12-20 12:35:21 |
| 2019-12-20 12:35:38 |
| 2017-12-20 12:35:52 |
| 2022-12-20 12:36:44 |
+---------------------+
विपरीत: DATETIME को UNIX टाइमस्टैम्प में
SELECT UNIX_TIMESTAMP('2018-12-20 12:35:21'); -- 1545284721
SELECT UNIX_TIMESTAMP(NOW()); -- वर्तमान UNIX टाइमस्टैम्प
महत्वपूर्ण नोट्स
FROM_UNIXTIME()**सत्र टाइमज़ोन** का उपयोग करता है (सिस्टम टाइमज़ोन नहीं)- यूनिक्स टाइमस्टैम्प UTC-आधारित है; प्रदर्शन टाइमज़ोन पर निर्भर
- सीमा:
1970-01-01से2038-01-19(32-बिट सिस्टम) या आगे (64-बिट) - मिलीसेकंड टाइमस्टैम्प के लिए:
FROM_UNIXTIME(ms/1000)
फॉर्मेट स्पेसिफायर
| स्पेसिफायर | अर्थ |
|---|---|
%Y | 4-अंकीय वर्ष |
%m | महीना (01-12) |
%d | दिन (01-31) |
%H | घंटा (00-23) |
%i | मिनट (00-59) |
%s | सेकंड (00-59) |