Trong MySQL, chuyển đổi ngày giờ thành số nguyên bằng cách sử dụng hàm UNIX_TIMESTAMP (). Cú pháp như sau:
SELECT UNIX_TIMESTAMP(yourDatetimeColumnName) as anyVariableName FROM yourTableName;
Để hiểu cú pháp trên, chúng ta hãy tạo một bảng. Truy vấn để tạo bảng như sau:
mysql> create table DatetimeToInteger -> ( -> Id int NOT NULL AUTO_INCREMENT, -> ArrivalTime datetime, -> PRIMARY KEY(Id) -> ); Query OK, 0 rows affected (0.94 sec)
Chèn một số bản ghi trong bảng bằng lệnh chèn. Truy vấn như sau:
mysql> insert into DatetimeToInteger(ArrivalTime) values(now()); Query OK, 1 row affected (0.09 sec) mysql> insert into DatetimeToInteger(ArrivalTime) values(curdate()); Query OK, 1 row affected (0.21 sec) mysql> insert into DatetimeToInteger(ArrivalTime) values('2017-09-21 13:10:55'); Query OK, 1 row affected (0.25 sec) mysql> insert into DatetimeToInteger(ArrivalTime) values(date_add(now(),interval 3 year)); Query OK, 1 row affected (0.16 sec)
Hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select. Truy vấn như sau:
mysql> select *from DatetimeToInteger;
Sau đây là kết quả:
+----+---------------------+ | Id | ArrivalTime | +----+---------------------+ | 1 | 2019-01-22 15:12:45 | | 2 | 2019-01-22 00:00:00 | | 3 | 2017-09-21 13:10:55 | | 4 | 2022-01-22 15:14:32 | +----+---------------------+ 4 rows in set (0.00 sec)
Đây là truy vấn để chuyển đổi ngày giờ thành số nguyên:
mysql> select unix_timestamp(ArrivalTime) as DateTimeToIntegerDemo from DatetimeToInteger;
Sau đây là kết quả:
+-----------------------+ | DateTimeToIntegerDemo | +-----------------------+ | 1548150165 | | 1548095400 | | 1505979655 | | 1642844672 | +-----------------------+ 4 rows in set (0.00 sec)