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

Ví dụ về SUBDATE () - MySQL

Trong MySQL, bạn có thể sử dụng SUBDATE() 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ừ 10 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.

Khi sử dụng cú pháp đầu tiên được liệt kê bên dưới, SUBDATE() hàm là từ đồng nghĩa với DATE_SUB() hàm (tương tự như cách ADDDATE() là từ đồng nghĩa với DATE_ADD() khi sử dụng cùng một cú pháp).

Cú pháp

Bạn có thể sử dụng chức năng này theo hai cách sau:

SUBDATE(date,INTERVAL expr unit)

Hoặc

SUBDATE(expr,days)

Ví dụ 1 - Cú pháp đầu tiên

Dưới đây là một ví dụ về việc sử dụng dạng đầu tiên của cú pháp.

SELECT SUBDATE('2018-05-10', INTERVAL 2 DAY) AS Result;

Kết quả:

+------------+
| Result     |
+------------+
| 2018-05-08 |
+------------+

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

Ví dụ 2 - Cú pháp thứ hai

Ví dụ này có thể được viết lại như sau:

SELECT SUBDATE('2018-05-10', 2) AS Result;

Kết quả:

+------------+
| Result     |
+------------+
| 2018-05-08 |
+------------+

Điều này sử dụng hình thức thứ hai của cú pháp. Đối số thứ hai là một số nguyên đại diện cho số ngày sẽ được trừ đi từ ngày được cung cấp bởi đối số đầu tiên.

Như đã đề cập, SUBDATE() là từ đồng nghĩa với DATE_SUB() , nhưng chỉ khi cú pháp đầu tiên được sử dụng. Cú pháp thứ hai chỉ có sẵn trong SUBDATE() .

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

Một lợi ích của dạng đầu tiên của cú pháp là bạn có thể chỉ định xem có trừ ngày, tuần, tháng, năm, v.v. Dưới đây là một số ví dụ.

SELECT 
    '2018-05-10' AS 'Start Date',
    SUBDATE('2018-05-10', INTERVAL 2 WEEK) AS '-2 Weeks',
    SUBDATE('2018-05-10', INTERVAL 2 MONTH) AS '-2 Months',
    SUBDATE('2018-05-10', INTERVAL 2 QUARTER) AS '-2 Quarters',
    SUBDATE('2018-05-10', INTERVAL 2 YEAR) AS '-2 Years';

Kết quả:

+------------+------------+------------+-------------+------------+
| Start Date | -2 Weeks   | -2 Months  | -2 Quarters | -2 Years   |
+------------+------------+------------+-------------+------------+
| 2018-05-10 | 2018-04-26 | 2018-03-10 | 2017-11-10  | 2016-05-10 |
+------------+------------+------------+-------------+------------+

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

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

SELECT SUBDATE('2018-05-10 01:00:00', INTERVAL 2 HOUR) AS Result;

Kết quả:

+---------------------+
| Result              |
+---------------------+
| 2018-05-09 23:00: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’

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Định dạng ngày MySQL - những điều bạn cần biết

  2. Nhận ngày mới nhất từ ​​dữ liệu MySQL được nhóm

  3. Đăng và nhận cùng một lúc trong php

  4. Cách tạo người dùng mới và cấp quyền trong MySQL

  5. chuyển đổi ngày php sang định dạng mysql