Vấn đề:
Bạn muốn lấy tháng từ cột ngày / giờ 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 apartment_rental
với dữ liệu trong các cột id
, address
, floor
và start_date
.
id | địa chỉtầng | start_date | |
---|---|---|---|
1 | 700 Phố Oak | 2 | 2019-03-20 |
2 | 295 Main Street | 3 | 2019-05-31 |
3 | 506 State Road | 1 | 2019-01-03 |
4 | 3949 Đường 31 | 1 | 2019-02-01 |
Đối với mỗi căn hộ có sẵn, hãy lấy địa chỉ, tầng và tháng khi căn hộ còn trống. Nhận chỉ trong tháng từ start_date
cột.
Giải pháp:
Chúng tôi sẽ sử dụng MONTH()
hàm số. Đây là truy vấn bạn sẽ viết:
SELECT address, floor, MONTH(start_date) AS start_month FROM apartment_rental;
Đây là kết quả của truy vấn:
Địa chỉtầng | start_month | |
---|---|---|
700 Oak Street | 2 | 3 |
295 Main Street | 3 | 5 |
506 State Road | 1 | 1 |
3949 Đường 31 | 1 | 2 |
Thảo luận:
Sử dụng MONTH()
hàm để truy xuất một tháng từ cột ngày tháng / datetime / dấu thời gian trong MySQL. Hàm này chỉ nhận một đối số - một biểu thức trả về giá trị ngày tháng / datetime / dấu thời gian hoặc tên của cột ngày tháng / datetime / dấu thời gian. (Trong ví dụ của chúng tôi, chúng tôi sử dụng start_date
cột ngày kiểu dữ liệu).
MONTH()
trả về tháng dưới dạng số nguyên từ 1 đến 12 (1 là tháng Giêng và 12 là tháng Mười Hai). Trong ví dụ của chúng tôi, căn hộ tại 700 Oak Street sẽ bắt đầu cho thuê vào tháng 3 vì ngày bắt đầu là '2019-03-20'