ใช้ UNIX_TIMESTAMP(STR_TO_DATE(...)) แปลงสตริงวันที่เป็น Unix Timestamp
คำสั่ง
select UNIX_TIMESTAMP(str_to_date(yourColumnName,'%m/%d/%Y')) from yourTableName;
ตัวอย่าง
mysql> create table DemoTable (
Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
dateConvertToUnix varchar(100)
);
Query OK, 0 rows affected (0.58 sec)
mysql> insert into DemoTable(dateConvertToUnix) values('01/10/2001'); Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable(dateConvertToUnix) values('03/31/2010'); Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable(dateConvertToUnix) values('12/31/2016'); Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable(dateConvertToUnix) values('04/27/2019'); Query OK, 1 row affected (0.10 sec)
แปลงเป็น Unix Timestamp
mysql> select UNIX_TIMESTAMP(str_to_date(dateConvertToUnix,'%m/%d/%Y')) from DemoTable;
+-----------------------------------------------------------+ | UNIX_TIMESTAMP(str_to_date(dateConvertToUnix,'%m/%d/%Y')) | +-----------------------------------------------------------+ | 979065000 | | 1269973800 | | 1483122600 | | 1556303400 | +-----------------------------------------------------------+
%m = เดือน, %d = วัน, %Y = ปี 4 หลัก Unix Timestamp = วินาทีจาก 1970-01-01 UTC