Computer >> Máy Tính >  >> Lập trình >> MySQL

Datetime thành Integer trong MySQL?

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)