Hàm YEARWEEK trong MySQL

Trong bài này mình sẽ hướng dẫn cách sử dụng hàm YEARWEEK trong MySQL thông qua cú pháp và ví dụ thực tế.

1. Mô tả

Hàm YEARWEEK trả về năm và tuần cho một giá trị ngày.

2. Cú pháp

Cú pháp của hàm YEARWEEK trong MySQL là:

YEARWEEK( date_value, [ mode ] )

Trong đó:

Bài viết này được đăng tại [kiso.vn]

  • date_value: Một giá trị ngày hoặc ngày giờ để trích xuất năm và tuần.
  • mode: Không bắt buộc. Nó được sử dụng để xác định ngày bắt đầu vào ngày nào. Nó có thể là một trong những điều sau đây:
Giá trịMô tảTrả về
0Ngày đầu tuần là chủ nhật0-53
1Ngày đầu tuần là thứ Hai và tuần đầu tiên có hơn 3 ngày0-53
2Ngày đầu tuần là chủ nhật1-53
3Ngày đầu tuần là thứ Hai và tuần đầu tiên có hơn 3 ngày1-53
4Ngày đầu tuần là Chủ nhật và tuần đầu tiên có hơn 3 ngày0-53
5Ngày đầu tuần là thứ hai0-53
6Ngày đầu tuần là Chủ nhật và tuần đầu tiên có hơn 3 ngày1-53
7Ngày đầu tuần là thứ hai1-53

Lưu ý:

  • Hàm YEARWEEK sẽ trả về giá trị năm cũng như giá trị tuần (trong khoảng 0-53 hoặc 1-53) tùy thuộc vào mode được chỉ định.
  • Hàm YEARWEEK có thể trả về giá trị năm khác với năm được hiển thị trong date_value do chế độ được chỉ định. Điều này chỉ nên xảy ra trong tuần đầu tiên của năm và tuần cuối cùng của năm.
  • Nếu bạn đang chạy MySQL 4.0.14+ và chế độ không được chỉ định, hàm YEARWEEK sẽ sử dụng giá trị trong biến hệ thống default_week_format làm mode.
  • Nếu bạn đang chạy phiên bản MySQL cũ hơn 4.0,14 và chế độ không được chỉ định, hàm YEARWEEK sẽ sử dụng 0 làm mode.

3. Version

Hàm YEARWEEK có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23.8

4. Ví dụ

mysql> SELECT YEARWEEK('2019-01-01');
Ket qua: 201852

mysql> SELECT YEARWEEK('2019-04-01');
Ket qua: 201913

mysql> SELECT YEARWEEK('2019-01-20');
Ket qua: 201903

mysql> SELECT YEARWEEK('2019-07-15');
Ket qua: 201928

mysql> SELECT YEARWEEK('2019-12-30');
Ket qua: 201952

mysql> SELECT YEARWEEK('2018-01-01');
Ket qua: 201753

 

Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *