Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

แปลงวันที่ dd/mm/yyyy เป็น Unix Timestamp ใน MySQL

ใช้ STR_TO_DATE() แปลงสตริงเป็นวันที่ แล้ว UNIX_TIMESTAMP() แปลงเป็น Timestamp

ไวยากรณ์

SELECT UNIX_TIMESTAMP(STR_TO_DATE(yourColumn, '%d/%m/%Y')) AS unixTimestamp FROM yourTable;

ตัวอย่างการใช้งาน

สร้างตาราง ConvertddmmyyyyInUnixTimeStamp:

mysql> CREATE TABLE ConvertddmmyyyyInUnixTimeStamp (
    -> Id INT NOT NULL AUTO_INCREMENT,
    -> Created_at VARCHAR(30),
    -> PRIMARY KEY(Id)
    -> );

เพิ่มข้อมูล (รูปแบบ dd/mm/yyyy):

mysql> INSERT INTO ConvertddmmyyyyInUnixTimeStamp(Created_at) VALUES
    -> ('10/11/2012'),('11/12/2013'),('10/12/2012'),('31/01/2015'),('24/04/2016'),('20/09/2017'),('15/03/2018');

ข้อมูลเดิม

+----+------------+
| Id | Created_at |
+----+------------+
| 1  | 10/11/2012 |
| 2  | 11/12/2013 |
| 3  | 10/12/2012 |
| 4  | 31/01/2015 |
| 5  | 24/04/2016 |
| 6  | 20/09/2017 |
| 7  | 15/03/2018 |
+----+------------+

คำสั่งแปลงเป็น Unix Timestamp

mysql> SELECT UNIX_TIMESTAMP(STR_TO_DATE(Created_at, '%d/%m/%Y')) AS UnixTimestamp FROM ConvertddmmyyyyInUnixTimeStamp;

ผลลัพธ์

+---------------+
| UnixTimestamp |
+---------------+
| 1352485800    |
| 1386700200    |
| 1355077800    |
| 1422642600    |
| 1461436200    |
| 1505845800    |
| 1521052200    |
+---------------+

รูปแบบวันที่: %d=วัน, %m=เดือน, %Y=ปี 4 หลัก