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

Cara mendapatkan nomor minggu bulan dari tanggal di sql server 2008

Berikut adalah 2 cara berbeda, keduanya dengan asumsi minggu dimulai pada hari Senin

Jika Anda ingin minggu menjadi utuh, jadi mereka termasuk bulan di mana mereka mulai:Jadi Sabtu 09-01 dan Minggu 09-02 2012 adalah minggu 4 dan Senin 09-03 adalah minggu 1 gunakan ini:

declare @date datetime = '2012-09-01'
select datepart(day, datediff(day, 0, @date)/7 * 7)/7 + 1

Jika minggu Anda dipotong pada pergantian bulan, maka Sabtu 09-01 dan Minggu 09-02 adalah minggu 1 dan Senin 09-03 adalah minggu 2, gunakan ini:

declare @date datetime = '2012-09-01'
select datediff(week, dateadd(week, 
  datediff(day,0,dateadd(month,
    datediff(month,0,@date),0))/7, 0),@date-1) + 1

Saya menerima email dari Gerald. Dia menunjukkan kelemahan dalam metode kedua. Ini harus diperbaiki sekarang



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Menggunakan GOTO di SQL Server

  2. Mendefinisikan hubungan satu-ke-satu di SQL Server

  3. Kondisi Balapan Antrian Proses SQL Server

  4. Cara menambahkan Batasan Kunci Utama ke Kolom Identitas ke semua tabel di Database SQL Server - Tutorial SQL Server / TSQL Bagian 63

  5. Menghapus baris duplikat (berdasarkan nilai dari beberapa kolom) dari tabel SQL