Vấn đề:
Bạn muốn thêm ngày vào một ngày trong cơ sở dữ liệu MySQL.
Ví dụ:
Cơ sở dữ liệu của chúng tôi có một bảng có tên trip
với dữ liệu trong các cột id
, city
và start_date
.
id | thành phố | start_date |
---|---|---|
1 | Chicago | ngày 26 tháng 6 năm 2019 |
2 | Houston | 2019-07-15 |
3 | Dallas | 2019-08-30 |
4 | Austin | 2019-09-23 |
Hãy thêm hai ngày vào ngày bắt đầu và có được các thành phố của chuyến đi với ngày bắt đầu mới.
Giải pháp:
Chúng tôi sẽ sử dụng DATE_ADD()
hàm số. Đây là truy vấn bạn sẽ viết:
SELECT city, DATE_ADD(start_date, INTERVAL 2 DAY) AS later_date FROM trip;
Đây là kết quả của truy vấn:
city | start_date |
---|---|
Chicago | 2019-06-24 |
Houston | 2019-07-17 |
Dallas | 2019-09-01 |
Austin | 2019-09-25 |
Thảo luận:
Sử dụng DATE_ADD()
nếu bạn muốn tăng một ngày nhất định trong cơ sở dữ liệu MySQL. Trong ví dụ của chúng tôi, chúng tôi đã tăng mỗi ngày bắt đầu thêm hai ngày.
Hàm này có hai đối số. Đối số đầu tiên là ngày hoặc giờ bạn muốn thay đổi. Đối số này có thể là tên của cột ngày / giờ hoặc một biểu thức trả về giá trị ngày / giờ. Trong ví dụ của chúng tôi, chúng tôi đã sử dụng start_date
, thuộc loại dữ liệu ngày tháng.
Đối số thứ hai là toán tử INTERVAL theo sau là một số nguyên cho biết số lượng đơn vị (trong ví dụ của chúng tôi là 2) và đơn vị ngày / giờ cần thêm (trong ví dụ của chúng tôi là DAY). Bạn có thể tìm thêm về các đơn vị khoảng trong phần Biểu thức khoảng thời gian và Đối số đơn vị của tài liệu MySQL.
DATE_ADD()
trả về một ngày hoặc giá trị ngày giờ mới. Trong ví dụ của chúng tôi, chuyến đi đến Houston có ngày bắt đầu mới:'2019-07-17'.