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

Kiểu dữ liệu cho unix_timestamp trong MySQL là gì?

Loại dữ liệu tốt nhất cho unix_timestamp trong MySQL là số nguyên. Kiểu dữ liệu số nguyên như sau

int(11);

Kiểu dữ liệu số nguyên hữu ích cho việc kiểm tra điều kiện như (>, <=) và lập chỉ mục. Loại trả về của unix_timestamp là một số nguyên.

Tuy nhiên, hãy xem những gì chúng ta nhận được dưới dạng Dấu thời gian UNIX, khi chúng ta chuyển đổi ngày giờ thành dấu thời gian.

Để hiểu khái niệm trên, trước tiên chúng ta hãy tạo một bảng. Truy vấn để tạo bảng như sau

mysql> create table UnixTime
   -> (
   -> DueTime datetime
   -> );
Query OK, 0 rows affected (0.55 sec)

Chèn các bản ghi ở dạng ngày tháng bằng cách sử dụng lệnh insert. Truy vấn như sau

mysql> insert into UnixTime values(now());
Query OK, 1 row affected (0.15 sec)

mysql> insert into UnixTime values('2010-10-14');
Query OK, 1 row affected (0.15 sec)

mysql> insert into UnixTime values('2020-09-24');
Query OK, 1 row affected (0.15 sec)

Bây giờ chúng ta hãy hiển thị tất cả các bản ghi từ bảng bằng lệnh select. Truy vấn như sau

mysql> select *from UnixTime;

Sau đây là kết quả

+---------------------+
| DueTime             |
+---------------------+
| 2018-12-19 10:07:11 |
| 2010-10-14 00:00:00 |
| 2020-09-24 00:00:00 |
+---------------------+
3 rows in set (0.00 sec)

Hãy cho chúng tôi xem truy vấn để chuyển đổi datetime sang UNIX timestamp

mysql> select unix_timestamp(DueTime) as Output from UnixTime;

Sau đây là kết quả

+------------+
| Output     |
+------------+
| 1545194231 |
| 1286994600 |
| 1600885800 |
+------------+
3 rows in set (0.00 sec)