ใช้ฟังก์ชัน FROM_UNIXTIME() เพื่อแปลงค่า Unix Timestamp (วินาทีนับจาก 1 มกราคม 1970) ให้เป็นรูปแบบวันที่และเวลาที่อ่านง่าย
ตัวอย่างการใช้งาน
1. สร้างตารางเก็บค่า Timestamp
mysql> CREATE TABLE DemoTable (
timestampValue BIGINT
);
Query OK, 0 rows affected (0.70 sec)
2. เพิ่มข้อมูลทดสอบ (Unix Timestamp)
mysql> INSERT INTO DemoTable VALUES(1538332200); Query OK, 1 row affected (0.21 sec) mysql> INSERT INTO DemoTable VALUES(1577730600); Query OK, 1 row affected (0.14 sec) mysql> INSERT INTO DemoTable VALUES(1488652200); Query OK, 1 row affected (0.12 sec)
3. แสดงข้อมูลดิบ
mysql> SELECT * FROM DemoTable; +----------------+ | timestampValue | +----------------+ | 1538332200 | | 1577730600 | | 1488652200 | +----------------+
4. แปลงแสดงเป็นวันที่และเวลา
mysql> SELECT FROM_UNIXTIME(timestampValue) AS Date FROM DemoTable;
5. ผลลัพธ์
+---------------------+ | Date | +---------------------+ | 2018-10-01 00:00:00 | | 2019-12-31 00:00:00 | | 2017-03-05 00:00:00 | +---------------------+
เคล็ดลับเพิ่มเติม
- ใช้
DATE(FROM_UNIXTIME(timestampValue))หากต้องการ เฉพาะวันที่ ไม่ต้องการเวลา - ใช้
FROM_UNIXTIME(timestampValue, '%Y-%m-%d')เพื่อกำหนดรูปแบบวันที่เอง - Unix Timestamp มักจะเป็นชนิดข้อมูล
BIGINTหรือINT(สำหรับปีก่อน 2038)