Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

SQL Server 2008 chỉ chọn dữ liệu giữa tháng và năm

Giải pháp đầu tiên của bạn gần như đã có, nhưng phức tạp hơn mức cần thiết và sẽ không hoạt động. Nó sẽ bỏ lỡ bất kỳ hàng nào từ ngày cuối cùng của tháng kết thúc.

Bạn có thể thêm một tháng vào end month và sau đó sử dụng BETWEEN vào ngày đầu tiên của mỗi tháng. ví dụ:

start month: 9 , start year: 2011 end month: 3, end year: 2012

BETWEEN '2011-09-01' AND '2012-04-01'

hoặc, như JNK chỉ ra, điều này sẽ tốt hơn:

DataDelega >= '2011-09-01' AND DataDelega < '2012-04-01'

Bạn sẽ cần thêm một số logic để đối phó với end month là tháng 12, nhưng đây có vẻ là cách đơn giản nhất để thực hiện.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. làm thế nào để lấy ngày bắt đầu và ngày kết thúc của tất cả các tuần giữa hai ngày trong máy chủ SQL?

  2. 3 cách trả về danh sách công việc tác nhân máy chủ SQL (T-SQL)

  3. SQL Server:Thay đổi cơ sở dữ liệu hiện tại thông qua biến

  4. Cách giải quyết không thể chuyển đổi lỗi mã hóa khi chèn XML vào SQL Server

  5. Sắp xếp dữ liệu cho nguồn PIVOT