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

Kueri Sql untuk menghasilkan tanggal pembayaran bulanan dalam rentang tanggal

Anda bisa seperti di bawah ini:

DECLARE @SelectedDate DATETIME = '2016.01.30'
SELECT
     DATEADD(DAY, -1 - (DAY(EOMONTH(@SelectedDate)) - DAY(@SelectedDate)),  DATEADD(MONTH, v.m, DATEFROMPARTS(YEAR(@SelectedDate), 1, 1)))   
FROM
    (VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10), (11), (12)) AS v(m)

Berapa hari tersisa sebelum akhir bulan. Jumlah hari yang ditemukan dihapus dari bulan lainnya.

DAY(EOMONTH(@SelectedDate) (31) - DAY(@SelectedDate) (30) =left days (1)

Hasil:

2016-01-30
2016-02-28
2016-03-30
2016-04-29
2016-05-30
2016-06-29
2016-07-30
2016-08-30
2016-09-29
2016-10-30
2016-11-29
2016-12-30


  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 cara memilih hanya pengguna gesek dari tabel yang memiliki semua catatan gesek?

  2. Masalah permintaan pembaruan prosedur tersimpan sql dinamis?

  3. Kesalahan overflow aritmatika mengubah ekspresi menjadi tipe data datetime

  4. Kelompokkan kolom menjadi beberapa baris dan Group_concate seperti MySQL di SQL Server

  5. SQL Server DI HAPUS Pemicu