Vấn đề:
Bạn muốn lấy năm 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 là conference
với dữ liệu trong các cột id
, name
và start_datetime
.
id | tên | start_datetime |
---|---|---|
1 | Thế giới truyền thông xã hội | 2019-02-20 14:15:34 |
2 | Thế giới di động 2017 | 2017-08-31 20:10:14 |
3 | Triển lãm Điện tử | 2018-04-03 10:05:45 |
4 | Tech Asia 2019 | 2019-01-01 12:47:54 |
Đối với mỗi hội nghị, hãy lấy tên và năm của hội nghị. Chúng tôi sẽ cần chỉ năm kể từ start_datetime
cột.
Giải pháp:
Chúng tôi sẽ sử dụng YEAR()
hàm số. Đây là truy vấn bạn sẽ viết:
SELECT name, YEAR(start_datetime) AS year_of_conference FROM conference;
Đây là kết quả của truy vấn:
name | year_of_conference |
---|---|
Thế giới truyền thông xã hội | 2019 |
Thế giới di động 2017 | 2017 |
Triển lãm Điện tử | 2018 |
Tech Asia 2019 | 2019 |
Thảo luận:
Sử dụng YEAR()
hàm để truy xuất giá trị năm 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ố - ngày tháng hoặc ngày giờ. Đây có thể là tên của cột ngày tháng / ngày giờ / dấu thời gian hoặc một biểu thức trả về một trong các kiểu dữ liệu đó. (Trong ví dụ của chúng tôi, đó là cột start_datetime
của kiểu dữ liệu ngày.)
YEAR()
trả về năm dưới dạng số nguyên từ 1000 đến 9999. 'Thế giới truyền thông xã hội' ngày bắt đầu của hội nghị là '2019-02-20 14:15:34'
, vì vậy YEAR()
đã trả lại '2019'
cho hồ sơ này.