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.