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

Ví dụ về PERIOD_ADD () - MySQL

MySQL có PERIOD_ADD() cho phép bạn thêm một số tháng vào một khoảng thời gian nhất định. Nó trả về một giá trị ở định dạng YYYYMM .

Bài viết này cung cấp các ví dụ để chứng minh cách nó hoạt động.

Cú pháp

Cú pháp như sau:

 PERIOD_ADD (P, N) 

Ở đâu P là khoảng thời gian và N là số tháng cần thêm.

Lưu ý rằng, mặc dù hàm này dường như đang thêm tháng vào một ngày, nhưng đối số khoảng thời gian thực sự không phải là một giá trị ngày.

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

Đây là một ví dụ cơ bản.

 CHỌN PERIOD_ADD (202101,2); 

Kết quả:

 + ---------------------- + | PERIOD_ADD (202101,2) | + ---------------------- + | 202103 | + ---------------------- + 

Vì vậy, trong trường hợp này, chúng tôi đã thêm hai tháng vào khoảng thời gian.

Ví dụ 2 - Giá trị phủ định

Dưới đây là một ví dụ thêm số tháng âm.

 CHỌN PERIOD_ADD (202101, -2); 

Kết quả:

 + ----------------------- + | PERIOD_ADD (202101, -2) | + ----------------------- + | 202011 | + ----------------------- + 

Ví dụ 3 - Năm hai chữ số

Ví dụ này sử dụng thành phần năm gồm hai chữ số.

 CHỌN PERIOD_ADD (2101,2); 

Kết quả:

 + -------------------- + | PERIOD_ADD (2101,2) | + -------------------- + | 202103 | + -------------------- + 

Bạn sẽ nhận thấy rằng kết quả vẫn sử dụng năm bốn chữ số (mặc dù chúng tôi đã cung cấp đối số khoảng thời gian là năm có hai chữ số).

Ví dụ 4 - Sử dụng Ngày hiện tại

Ví dụ này lấy khoảng thời gian từ ngày hiện tại. Sau đó, nó thêm một tháng vào khoảng thời gian đó.

 CHỌN CURDATE () làm 'Ngày hiện tại', EXTRACT (YEAR_MONTH TỪ CURDATE ()) làm 'Giai đoạn hiện tại', PERIOD_ADD (EXTRACT (YEAR_MONTH TỪ CURDATE ()), 1) LÀM 'Giai đoạn tiếp theo'; 

Kết quả:

 + -------------- + ---------------- + ------------- + | Ngày hiện tại | Thời kỳ hiện tại | Tiết sau | + -------------- + ---------------- + ------------- + | 2018-06-30 | 201806 | 201807 | + -------------- + ---------------- + ------------- + 

Ví dụ 5 - Ví dụ về Cơ sở dữ liệu

Đây là một ví dụ truy vấn cơ sở dữ liệu.

 SỬ DỤNG sakila; CHỌN ngày_thông_dục làm 'Ngày thanh toán', TRÍCH (NĂM_MONTH TỪ ngày thanh toán) làm 'Kỳ hạn thanh toán', PERIOD_ADD (TRÍCH (NĂM_MONTH TỪ ngày thanh toán), 12) NHƯ 'Thanh toán tiếp theo' Thanh toán FROMWHERE thanh toán_id =1;  

Kết quả:

 + --------------------- + ---------------- + ------- ------- + | Ngày thanh toán | Kỳ thanh toán | Thanh toán tiếp theo | + --------------------- + ---------------- + ------- ------- + | 2005-05-25 11:30:37 | 200505 | 200605 | + --------------------- + ---------------- + -------- ------ + 

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tìm bản ghi từ một bảng không tồn tại trong bảng khác

  2. Bảng cập nhật MySQL dựa trên một giá trị bảng khác

  3. Làm thế nào để có được ngày cuối cùng của tháng trong MySQL

  4. Buộc InnoDB kiểm tra lại các khóa ngoại trên một bảng / bảng?

  5. MySQL năm 2018:Có gì trong 8.0 và các quan sát khác