Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Ekstrak Nomor Minggu dari Tanggal di SQL Server (T-SQL)

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.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apa itu DTU di Database Azure SQL dan Bagaimana Mengetahui Berapa Banyak yang Kita Butuhkan

  2. Konversi bilangan bulat ke hex dan hex ke integer

  3. Mengapa server sql menyimpan karakter tanda tanya alih-alih karakter Jepang di bidang NVarchar?

  4. Msg 8672, Level 16, State 1, Line 1 Pernyataan MERGE mencoba untuk UPDATE atau DELETE baris yang sama lebih dari sekali

  5. SQL Server Ubah Nama Basis Data