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

bagaimana cara mendapatkan data minggu ini hanya di SQL server?

Lakukan seperti ini:

SET DATEFIRST 1 -- Define beginning of week as Monday
SELECT [...]
AND WorkDate >= dateadd(day, 1-datepart(dw, getdate()), CONVERT(date,getdate())) 
AND WorkDate <  dateadd(day, 8-datepart(dw, getdate()), CONVERT(date,getdate()))

Penjelasan:

  • datepart(dw, getdate()) akan mengembalikan nomor hari dalam minggu ini, dari 1 hingga 7, dimulai dengan apa pun yang Anda tentukan menggunakan SETEL TANGGAL PERTAMA .
  • dateadd(day, 1-datepart(dw, getdate()), getdate()) kurangi jumlah hari yang diperlukan untuk mencapai awal minggu ini
  • CONVERT(date,getdate()) digunakan untuk menghapus bagian waktu GETDATE(), karena Anda ingin data dimulai pada tengah malam.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kunci utama kenaikan otomatis di SQL Server Management Studio 2012

  2. Menanyakan nilai terenkripsi dalam database

  3. sql server 2008 aktifkan akun sa

  4. Login gagal untuk pengguna (Microsoft SQL Server, Error:18456) SQL Server 2005

  5. Peta ulang sumber data Crystal Report