Anda dapat menggunakan fungsi T-SQL DATEPART()
untuk mengembalikan nomor minggu dari tanggal di SQL Server.
Yang saya maksud dengan “nomor minggu” adalah nomor minggu dalam tahun dari tanggal yang ditentukan.
Contoh
Untuk mengembalikan nomor minggu, gunakan week
sebagai argumen pertama dari DATEPART()
fungsi.
DECLARE @date date = '2020-07-20';
SELECT DATEPART(week, @date);
Hasil:
30
Argumen Alternatif
Atau, Anda dapat menggunakan wk
atau ww
sebagai argumen pertama untuk melakukan hal yang sama.
DECLARE @date date = '2024-07-20';
SELECT
DATEPART(week, @date) AS week,
DATEPART(wk, @date) AS wk,
DATEPART(ww, @date) AS ww;
Hasil:
+--------+------+------+ | week | wk | ww | |--------+------+------| | 29 | 29 | 29 | +--------+------+------+
Anda akan melihat bahwa nomor minggu dalam hasil ini berbeda dari nomor minggu dalam contoh sebelumnya, meskipun kedua contoh menggunakan tanggal 20 Juli sebagai tanggalnya. Ini yang diharapkan.
Kedua contoh tersebut menggunakan tahun yang berbeda. Nomor minggu dapat dipengaruhi oleh tahun. Jadi dengan kata lain, hanya karena tanggal 20 Juli adalah minggu ke-30 dalam satu tahun, tidak berarti bahwa itu akan menjadi minggu ke-30 setiap tahun. Hanya sesuatu yang harus diperhatikan.
Nomor Minggu ISO
Anda juga dapat mengembalikan nomor minggu ISO dari tanggal dengan menggunakan iso_week
argumen. Minggu ISO dimulai pada hari Senin dan minggu pertama dalam satu tahun berisi 4 Januari tahun itu.
Oleh karena itu, tanggal awal Januari mungkin menjadi bagian dari minggu ke-52 atau ke-53 tahun sebelumnya, dan tanggal akhir Desember menjadi bagian dari minggu pertama tahun berikutnya.