Cách trừ trong mysql

Hàm DATE_SUB() trong MySQL được sử dụng để trừ khoảng thời gian hoặc ngày đã chỉ định cho một ngày đã chỉ định và sau đó trả về ngày

cú pháp

DATE_SUB(date, INTERVAL value addunit)

Tham số. Hàm này chấp nhận hai tham số được minh họa bên dưới

  • ngày - Ngày được chỉ định sẽ được sửa đổi
  • giá trị addunit – Ở đây giá trị là ngày hoặc khoảng thời gian để trừ. Giá trị này có thể là cả tích cực và tiêu cực. Và ở đây, addunit là loại khoảng thời gian để trừ, chẳng hạn như GIÂY, PHÚT, GIỜ, NGÀY, NĂM, THÁNG, v.v.

Trả về.
Nó trả về ngày mới sau khi trừ đi thời gian hoặc ngày đã chỉ định.

Ví dụ-1.
Nhận ngày mới là “22-11-2017” sau khi trừ 3 năm cho ngày được chỉ định “22-11-2020”.

SELECT DATE_SUB("2020-11-22", INTERVAL 3 YEAR);

đầu ra

2017-11-22

Ví dụ-2.
Nhận ngày mới là “22-9-2020” sau khi trừ đi 2 tháng tính đến ngày đã chỉ định “22-11-2020”.

SELECT DATE_SUB("2020-11-22", INTERVAL 2 MONTH);

đầu ra

2020-09-22

Ví dụ-3.
Nhận ngày mới là “2020-11-12” sau khi trừ đi 10 ngày cho đến ngày được chỉ định “2020-11-22”.

SELECT DATE_SUB("2020-11-22", INTERVAL 10 DAY);

đầu ra

2020-11-12

Ví dụ-4.
Bắt ngày mới của “22-11-2020 06. 12. 10” sau khi trừ đi 3 giờ đến ngày được chỉ định “22-11-2020 09. 12. 10”.

SELECT DATE_SUB("2020-11-22 09:12:10", INTERVAL 3 HOUR);

đầu ra

________số 8

Ví dụ-5.
Bắt ngày mới của “2020-11-22 09. 06. 10” sau khi trừ đi 3 phút đến ngày được chỉ định “22-11-2020 09. 09. 10”.

SELECT DATE_SUB("2020-11-22 09:09:10", INTERVAL 3 MINUTE);

đầu ra

SELECT DATE_SUB("2020-11-22", INTERVAL 3 YEAR);
0

Ví dụ-6.
Nhận ngày mới của “2020-11-22 09. 09. 05” sau khi trừ đi 5 giây đến ngày được chỉ định “22-11-2020 09. 09. 10”.

SELECT DATE_SUB("2020-11-22", INTERVAL 3 YEAR);
1

đầu ra

SELECT DATE_SUB("2020-11-22", INTERVAL 3 YEAR);
2

Đăng kí. Hàm này được sử dụng để trừ một khoảng thời gian hoặc ngày đã chỉ định cho một ngày đã chỉ định và sau đó trả về ngày

Toán tử TRỪ là một loại thao tác SET trong SQL, nó cũng bao gồm INTERSECT, UNION và UNION ALL. Toán tử TRỪ trả về phần tử duy nhất từ ​​bảng/tập hợp đầu tiên, không tìm thấy trong bảng/tập hợp thứ hai. Nói cách khác, nó sẽ so sánh kết quả của hai truy vấn và tạo ra hàng kết quả từ tập kết quả thu được từ truy vấn đầu tiên và không tìm thấy trong tập kết quả thu được từ truy vấn thứ hai

cú pháp

Sau đây là cú pháp minh họa việc sử dụng toán tử TRỪ

GHI CHÚ. MySQL không cung cấp hỗ trợ cho toán tử TRỪ. Bài viết này hướng dẫn bạn cách mô phỏng truy vấn TRỪ trong MySQL bằng cách sử dụng mệnh đề THAM GIA

Sau đây là các quy tắc cho một câu lệnh sử dụng toán tử TRỪ

  • Số lượng và thứ tự các cột trong tất cả các câu lệnh SELECT phải giống nhau
  • Kiểu dữ liệu của các cột tương ứng trong cả hai câu lệnh SELECT phải giống nhau hoặc có thể chuyển đổi

Chúng ta có thể hiểu toán tử TRỪ bằng biểu diễn trực quan sau. Ở đây, toán tử này trả về các giá trị riêng biệt/duy nhất từ ​​kết quả thu được từ câu lệnh SELECT đầu tiên và không tìm thấy trong kết quả thu được từ câu lệnh SELECT thứ hai

Cách trừ trong mysql

Mô phỏng toán tử MySQL MINUS

Vì MySQL không cung cấp hỗ trợ cho toán tử TRỪ. Tuy nhiên, chúng ta có thể sử dụng mệnh đề LEFT JOIN để mô phỏng toán tử này

Chúng ta có thể sử dụng cú pháp sau để mô phỏng toán tử TRỪ

Ví dụ

Trước tiên chúng ta hãy tạo hai bảng với cấu trúc sau để trình diễn

Cấu trúc và dữ liệu Table1

Cấu trúc và dữ liệu Table2

Bây giờ, chúng tôi sẽ thực hiện truy vấn bên dưới với sự trợ giúp của mệnh đề LEFT JOIN. Nó cho kết quả tương tự như toán tử MINUS

Ví dụ

Trừ 10 ngày từ một ngày và trả lại ngày

SELECT DATE_SUB("15-06-2017", THỜI GIAN 10 NGÀY);

Tự mình thử »


Định nghĩa và cách sử dụng

Hàm DATE_SUB() trừ một khoảng thời gian/ngày từ một ngày và sau đó trả về ngày

cú pháp

DATE_SUB(ngày, khoảng giá trị INTERVAL)

Giá trị tham số

Tham sốMô tảngàyBắt buộc. Ngày được sửa đổi giá trị Bắt buộc. Giá trị của khoảng thời gian/ngày để trừ. Cả giá trị dương và âm đều được phépintervalBắt buộc. Loại khoảng để trừ. Có thể là một trong các giá trị sau
  • VI PHI GIÂY
  • THỨ HAI
  • PHÚT
  • GIỜ
  • NGÀY
  • TUẦN
  • THÁNG
  • MỘT PHẦN TƯ
  • NĂM
  • SECOND_MICROSECOND
  • PHÚT_MICROSECOND
  • PHÚT_SECOND
  • HOUR_MICROSECOND
  • HOUR_SECOND
  • GIỜ_PHÚT
  • DAY_MICROSECOND
  • DAY_SECOND
  • DAY_MINUTE
  • DAY_HOUR
  • NĂM THÁNG

chi tiết kỹ thuật


Thêm ví dụ

Ví dụ

Trừ 15 phút từ một ngày và trả lại ngày

CHỌN NGÀY_SUB("2017-06-15 09. 34. 21", THỜI GIAN 15 PHÚT);

Tự mình thử »

Ví dụ

Trừ 3 giờ từ một ngày và trả lại ngày

CHỌN NGÀY_SUB("2017-06-15 09. 34. 21", THỜI GIAN 3 GIỜ);

Tự mình thử »

Ví dụ

Thêm 2 tháng vào một ngày và trả lại ngày

CHỌN NGÀY_SUB("15-06-2017", THỜI GIAN -2 THÁNG);

Tự mình thử »

Làm cách nào để trừ hai giá trị trong MySQL?

Toán tử này được sử dụng để cộng trừ một số với một số khác. .
ví dụ 1. Sau đây là một ví dụ về toán tử "-" − mysql> SELECT 4156456-56445; . 4156456-56445. +---------------+. 4100011. +---------------+ 1 hàng trong tập hợp (0. 00 giây)
ví dụ 2. .
ví dụ 3

Làm thế nào để tính toán sự khác biệt trong MySQL?

Để đếm sự khác biệt giữa các ngày trong MySQL, hãy sử dụng hàm DATEDIFF(ngày kết thúc, ngày bắt đầu) . Sự khác biệt giữa ngày bắt đầu và ngày kết thúc được biểu thị bằng ngày. Trong trường hợp này, ngày kết thúc là ngày đến và ngày bắt đầu là ngày khởi hành.

Làm cách nào để trừ thời gian trong MySQL?

MySQL Hàm SUBTIME() .

TRỪ trong MySQL là gì?

Toán tử TRỪ trả về phần tử duy nhất từ ​​bảng/bộ đầu tiên, không tìm thấy trong bảng/bộ thứ hai . Nói cách khác, nó sẽ so sánh kết quả của hai truy vấn và tạo ra hàng kết quả từ tập kết quả thu được từ truy vấn đầu tiên và không tìm thấy trong tập kết quả thu được từ truy vấn thứ hai.