Fungsi ini mengembalikan nomor minggu untuk tanggal. Bentuk dua argumen WEEK() memungkinkan Anda menentukan apakah minggu dimulai pada hari Minggu atau Senin dan apakah nilai yang dikembalikan harus berada dalam rentang dari 0 hingga 53 atau dari 1 hingga 53. Jika argumen mode dihilangkan, nilai variabel sistem default_week_format akan digunakan. Lihat Bagian 7.1.8, “Variabel Sistem Server”. Untuk nilai tanggal NULL, fungsi mengembalikan NULL.
SELECT WEEK('2008-02-20');
7
SELECT WEEK('2008-02-20',0);
7
SELECT WEEK('2008-02-20',1);
8
SELECT WEEK('2008-12-31',1);
53
The following table describes how the mode argument works.
SELECT WEEK('2008-02-20');
7
SELECT WEEK('2008-02-20',0);
7
SELECT WEEK('2008-02-20',1);
8
SELECT WEEK('2008-12-31',1);
53
For mode values with a meaning of “with 4 or more days this year,” weeks are numbered according to ISO 8601:1988:
SELECT YEAR('2000-01-01'), WEEK('2000-01-01',0);
2000, 0
If the week containing January 1 has 4 or more days in the new year, it is week 1.
SELECT WEEK('2000-01-01',2);
52
Otherwise, it is the last week of the previous year, and the next week is week 1.
SELECT YEARWEEK('2000-01-01');
199952
SELECT MID(YEARWEEK('2000-01-01'),5,2);
'52'