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

Hasilkan Tanggal antara rentang tanggal

Mudah di SQL 2005+; lebih mudah jika Anda memiliki nomor atau tabel penghitungan. Saya memalsukannya di bawah ini:

DECLARE @StartDate DATE = '20110901'
  , @EndDate DATE = '20111001'

SELECT  DATEADD(DAY, nbr - 1, @StartDate)
FROM    ( SELECT    ROW_NUMBER() OVER ( ORDER BY c.object_id ) AS Nbr
          FROM      sys.columns c
        ) nbrs
WHERE   nbr - 1 <= DATEDIFF(DAY, @StartDate, @EndDate)

Jika Anda memiliki tabel penghitungan, ganti subquery dengan tabel. Tidak ada rekursi.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana saya bisa memilih hari pertama dalam sebulan di SQL?

  2. SQL WHERE.. IN klausa beberapa kolom

  3. Apakah mungkin mengakses database .mdf tanpa SQL Server?

  4. Menggunakan kembali SqlCommand?

  5. 5 Fakta Teratas untuk Menemukan dan Mengganti Teks SQL di SQL Server dengan Fungsi REPLACE