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

Làm cách nào để chèn một hàng có dấu thời gian “X ngày trước” trong MySQL?

Để chèn một hàng như thế này, hãy sử dụng cú pháp sau, trong đó chúng tôi đang sử dụng CURRENT_TIMESTAMP -

insert into yourTableName values(CURRENT_TIMESTAMP - INTERVAL ABS(RAND() * 100) DAY);

Để hiểu cú pháp trên, chúng ta hãy tạo một bảng -

mysql> create table DemoTable1983
   (
   DueDate timestamp
   );
Query OK, 0 rows affected (0.00 sec)

Chèn một số bản ghi vào bảng bằng lệnh chèn -

mysql> insert into DemoTable1983 values(CURRENT_TIMESTAMP - INTERVAL ABS(RAND() * 100) DAY);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1983 values(CURRENT_TIMESTAMP - INTERVAL ABS(RAND() * 100) DAY);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1983 values(CURRENT_TIMESTAMP - INTERVAL ABS(RAND() * 100) DAY);
Query OK, 1 row affected (0.00 sec)

Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select -

mysql> select * from DemoTable1983;

Điều này sẽ tạo ra kết quả sau -

+---------------------+
| DueDate             |
+---------------------+
| 2019-12-10 19:35:43 |
| 2019-10-27 19:35:44 |
| 2019-11-10 19:35:45 |
+---------------------+
3 rows in set (0.00 sec)

Ngày hiện tại như sau -

mysql> select now();

Điều này sẽ tạo ra kết quả sau -

+---------------------+
| now()               |
+---------------------+
| 2019-12-18 19:36:17 |
+---------------------+
1 row in set (0.00 sec)