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

Làm cách nào để trừ 30 ngày khỏi datetime hiện tại trong MySQL?

Để trừ đi 30 ngày so với datetime hiện tại, trước tiên chúng ta cần lấy thông tin về date time hiện tại, sau đó sử dụng phương thức now () từ MySQL. Now () cho biết ngày giờ hiện tại.

Phương thức được sử dụng cho việc này là DATE_SUB () từ MySQL. Đây là cú pháp để trừ 30 ngày so với ngày hiện tại.

Cú pháp như sau -

DATE_SUB(NOW(),INTERVAL 30 DAY);

Cú pháp trên sẽ tính toán ngày giờ hiện tại trước tiên và trong bước tiếp theo, trừ đi 30 ngày. Đầu tiên chúng ta hãy thử truy vấn để lấy ngày giờ hiện tại -

mysql> select now();

Đây là kết quả -

+---------------------+
| now()               |
+---------------------+
| 2018-11-23 16:38:43 |
+---------------------+
1 row in set (0.00 sec)

Bây giờ, chúng ta đã sử dụng phương thức date_sub () để trừ đi 30 ngày. Truy vấn như sau -

mysql> select date_sub(now(),interval 30 day);

Đây là kết quả hiển thị ngày sau khi trừ đi 30 ngày -

+---------------------------------+
| date_sub(now(),interval 30 day) |
+---------------------------------+
| 2018-10-24 16:38:50             |
+---------------------------------+
1 row in set (0.00 sec)

Để chỉ nhận giá trị ngày trong kết quả, bạn có thể sử dụng curdate () thay vì now (). Đây là bản demo của curdate ().

Truy vấn như sau -

mysql> select date_sub(curdate(),interval 30 day);

Sau đây là kết quả -

+-------------------------------------+
| date_sub(curdate(),interval 30 day) |
+-------------------------------------+
| 2018-10-24                          |
+-------------------------------------+
1 row in set (0.00 sec)