Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Tính toán ngày từ năm, số tuần và ngày trong tuần trong MySQL

Có thể tính ngày cụ thể từ năm, số tuần trong năm, và ngày trong tuần (1=Thứ 2 ... 7=Chủ Nhật) bằng STR_TO_DATE.

Ví dụ

mysql> SET @year=2017, @week=15, @day=4;  -- Năm 2017, tuần 15, thứ 5 (day=4)

mysql> SELECT STR_TO_DATE(CONCAT(@year,'-',@week,'-',IF(@day=7,0,@day)), '%Y-%U-%w') AS Date;
+--------------+
| Date         |
+--------------+
| 2017-04-13   |
+--------------+

Giải thích:

  • %Y: năm 4 chữ số.
  • %U: số tuần (00-53), tuần bắt đầu Chủ Nhật.
  • %w: ngày trong tuần (0=Chủ Nhật ... 6=Thứ Bảy). Nếu @day=7 (Chủ Nhật) thì chuyển thành 0.

Kết quả: Tuần 15 năm 2017, thứ 5 rơi vào ngày 13/04/2017.