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

SQL untuk mendapatkan data bulan sebelumnya

Saya bukan ahli SQL tapi coba ini:

SELECT [Circuit Number]
,[Request Number]
,[RequestDate]
FROM Requests
WHERE RequestType LIKE 'Cancel%'
AND DATEDIFF(mm,Requestdate , GETDATE())=1
AND DATEDIFF(yy,Requestdate, GETDATE())=0

Lihat Demo Fiddle saya

Penjelasan:

DATEDIFF(mm,Requestdate , GETDATE())=1 (Only Request previous Month of the Current Date)

Kondisi selanjutnya:

DATEDIFF(yy,Requestdate, GETDATE())=0 (Only in same year as Current Date)

Namun, jika Anda ingin hanya bulan sebelumnya terlepas apakah itu tahun yang sama dengan Tanggal Sekarang atau tidak, Anda dapat menghapus kondisi kedua, seperti:

SELECT [Circuit Number]
,[Request Number]
,[RequestDate]
FROM Requests
WHERE RequestType LIKE 'Cancel%'
AND DATEDIFF(mm,Requestdate , GETDATE())=1

Lihat Demo untuk ini.

Misalnya jika CurrentDate adalah 2013-01-19 lalu December 2012 permintaan akan disertakan meskipun itu bukan dari tahun yang sama tetapi jelas dari bulan sebelumnya.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dapatkan Rekor Terakhir Dari Setiap Bulan

  2. Batas ukuran indeks 900 byte dalam panjang karakter

  3. Perbaiki "Kesalahan overflow aritmatika mengonversi ekspresi ke tipe data int" di SQL Server

  4. Tujuan SQL Server vs Tujuan OLE DB

  5. Buat Tabel Sementara di SQL Server