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

Cara memilih tanggal setiap Senin dan setiap tanggal Jumat dalam setahun

Anda dapat menggunakan tabel yang sesuai dengan angka, seperti tabel master..spt_values ​​sebagai dasar untuk pembuatan rentang:

;WITH dates AS (
    SELECT DATEADD(DAY,number,CAST('2014-01-01' AS DATE)) d
    FROM master..spt_values WHERE TYPE = 'p'
    AND number < 366
    )

SELECT 
    Week = DATEPART(WEEK, d), 
    DayOfWeek = DATENAME(dw, d), 
    Date = d
FROM dates
WHERE DATENAME(dw, d) IN ('Monday', 'Friday')
-- or use datepart instead as datename might be specific to language
-- WHERE DATEPART(dw, d) IN (2,6)

Contoh keluaran:

Week        DayOfWeek                      Date
----------- ------------------------------ ----------
1           Friday                         2014-01-03
2           Monday                         2014-01-06
2           Friday                         2014-01-10
3           Monday                         2014-01-13
3           Friday                         2014-01-17
4           Monday                         2014-01-20
4           Friday                         2014-01-24
5           Monday                         2014-01-27
5           Friday                         2014-01-31


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Permintaan untuk menemukan semua batasan FK dan aturan penghapusannya (SQL Server)

  2. Menyalin tabel terkait multi level di mssql

  3. Urutan yang salah dalam Fungsi bernilai Tabel (menjaga urutan CTE rekursif)

  4. Cara menonaktifkan SQL Server Management Studio untuk pengguna

  5. Permintaan untuk memilih bulan dan no akhir pekan dan hari libur di bulan itu