Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Ví dụ về DATE_SUB () - MySQL

Trong MySQL, bạn có thể sử dụng DATE_SUB() hàm để trừ một khoảng thời gian cụ thể cho một ngày. Ví dụ:bạn có thể sử dụng nó để trừ 7 ngày cho một ngày nhất định. Bạn có thể chỉ định có trừ ngày, tuần, tháng, quý, năm, v.v. Bạn cũng có thể trừ một giá trị thời gian, chẳng hạn như giây, micro giây, v.v.

Hàm này tương tự như DATE_ADD() , ngoại trừ việc nó trừ đi một ngày thay vì cộng vào nó.

Cú pháp

Cú pháp như sau:

DATE_SUB(date,INTERVAL expr unit)

Ví dụ 1 - Cách sử dụng cơ bản

Đây là một ví dụ về cách sử dụng.

SELECT DATE_SUB('2021-05-07', INTERVAL 5 DAY) AS Result;

Kết quả:

+------------+
| Result     |
+------------+
| 2021-05-02 |
+------------+

Ví dụ này trừ đi 5 ngày kể từ ngày được cung cấp bởi đối số đầu tiên.

Ví dụ 2 - Đơn vị ngày khác

Bạn có thể chỉ định các đơn vị theo ngày, tuần, tháng, năm, v.v. Dưới đây là một số ví dụ.

SELECT 
    '2021-05-07' AS 'Start Date',
    DATE_SUB('2021-05-07', INTERVAL 2 WEEK) AS '-2 Weeks',
    DATE_SUB('2021-05-07', INTERVAL 2 MONTH) AS '-2 Months',
    DATE_SUB('2021-05-07', INTERVAL 2 QUARTER) AS '-2 Quarters',
    DATE_SUB('2021-05-07', INTERVAL 2 YEAR) AS '-2 Years';

Kết quả:

+------------+------------+------------+-------------+------------+
| Start Date | -2 Weeks   | -2 Months  | -2 Quarters | -2 Years   |
+------------+------------+------------+-------------+------------+
| 2021-05-07 | 2021-04-23 | 2021-03-07 | 2020-11-07  | 2019-05-07 |
+------------+------------+------------+-------------+------------+

Ví dụ 3 - Đơn vị thời gian

Bạn cũng có thể trừ các đơn vị thời gian cho một giá trị ngày / giờ. Đây là một ví dụ.

SELECT DATE_SUB('2021-05-07 10:00:00', INTERVAL 5 HOUR) AS Result;

Kết quả:

+---------------------+
| Result              |
+---------------------+
| 2021-05-07 05:00:00 |
+---------------------+

Và bạn có thể chỉ định nhiều đơn vị cùng một lúc. Ví dụ, bạn có thể chỉ định giờ và phút. Như thế này.

SELECT DATE_SUB('2021-05-07 10:00:00', INTERVAL '1:30' HOUR_MINUTE) AS Result;

Kết quả:

+---------------------+
| Result              |
+---------------------+
| 2021-05-07 08:30:00 |
+---------------------+

Giá trị mong đợi

Bảng sau đây hiển thị các giá trị đơn vị hợp lệ và định dạng mong đợi của chúng.

unit Giá trị Dự kiến ​​expr Định dạng
MICROSECOND MICROSECONDS
THỨ HAI GIÂY
PHÚT PHÚT
GIỜ GIỜ
NGÀY NGÀY
TUẦN TUẦN
THÁNG THÁNG
QUÝ QUARTERS
NĂM NĂM
SECOND_MICROSECOND ‘SECONDS.MICROSECONDS’
MINUTE_MICROSECOND ‘PHÚT:SECONDS.MICROSECONDS’
MINUTE_SECOND ‘MINUTES:SECONDS’
HOUR_MICROSECOND ‘GIỜ:PHÚT:SECONDS.MICROSECONDS’
HOUR_SECOND ‘GIỜ:PHÚT:GIÂY’
HOUR_MINUTE ‘GIỜ:PHÚT’
DAY_MICROSECOND ‘NGÀY GIỜ:PHÚT:SECONDS.MICROSECONDS’
DAY_SECOND ‘NGÀY GIỜ:PHÚT:GIÂY’
DAY_MINUTE ‘NGÀY GIỜ:PHÚT’
DAY_HOUR ‘DAYS GIURS’
YEAR_MONTH ‘NĂM-THÁNG’

Bạn cũng có thể sử dụng SUBDATE() chức năng để làm điều tương tự (nó là từ đồng nghĩa với DATE_SUB() khi sử dụng cùng một cú pháp).

Ngoài ra, cú pháp của SUBDATE() có dạng thứ hai, là một phương pháp viết tắt để trừ một số ngày nhất định cho một ngày. Để biết thêm thông tin, hãy xem SUBDATE () Ví dụ trong MySQL.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để lập lịch truy vấn MySQL?

  2. Làm cách nào để sử dụng toán tử gán MySQL (:=) trong truy vấn gốc ở chế độ ngủ đông?

  3. Chúng ta có thể kết nối cơ sở dữ liệu MySQL từ xa trong Android bằng JDBC không?

  4. Giải thích hàm IF () trong MySQL

  5. Cách nối hai bảng bằng danh sách được phân tách bằng dấu phẩy trong trường nối