2010-05-17 48 views

Trả lời

36

Dưới đây là câu trả lời tôi đã đưa ra

=DateSerial(Year(Now()), Month(Now()), "1").AddMonths(1).AddDays(-1) 
+0

Nên đánh dấu đây là câu trả lời được chấp nhận, sau đó =). – ajdams

+1

Giống như mua súng, có một thời gian chờ đợi trước khi bạn có thể chấp nhận câu trả lời của riêng bạn. Tôi sẽ đánh dấu nó là được chấp nhận trong 2 ngày. – Cory

0

bạn có thể sử dụng một hội đồng để thực hiện công việc này bằng cách thêm nó như là một tài liệu tham khảo.

0

Từ blog của thành viên Microsoft Team SQL:

-- returns the last day of the current month. 
select dbo.Date(year(getdate()), month(getdate())+1,0) 

http://weblogs.sqlteam.com/jeffs/archive/2007/01/02/56079.aspx

Hope this helps! --Dubs

+0

Cảm ơn nhưng tôi đã tìm cách để làm điều này không phải là một truy vấn SQL nhưng như là một biểu thức SSRS – Cory

8

Tôi biết bạn đã tìm thấy câu trả lời của riêng bạn, nhưng tôi muốn đề nghị thay thế này:

=Today.AddDays(1-Today.Day).AddMonths(1).AddDays(-1) 

Đó là một chút dễ dàng hơn để đọc, theo ý kiến ​​của tôi, và có thể có hiệu suất tốt hơn một chút (mặc dù nhiều khả năng không đáng kể)

Và, tất nhiên, nếu bạn muốn pad ra ngày đó đến 23:59:59, thường xuyên là cần thiết, chỉ cần sửa đổi một chút:

=Today.AddDays(1-Today.Day).AddMonths(1).AddSeconds(-1) 
15

như nó đã cho tôi một thời gian để hình này ra, và câu trả lời của JC là đơn giản nhất để sửa đổi và có một cấu trúc hợp lý tốt. Tôi mở rộng nó một chút cho những người khác đang tìm kiếm câu trả lời về chủ đề này. Tôi đã tìm thấy bình thường bạn không chỉ muốn Ngày cuối cùng của một tháng/năm bạn cũng muốn ngày đầu tiên của tháng/năm. Vì vậy, ở đây họ là những dòng đầy đủ để tính toán điều đó. wtih phiên bản SQl cũng có.

ngày đầu tiên của tháng hiện tại

SSRS=Today.AddDays(1-Today.Day) 
SQL=SELECT DATEADD(s,0,DATEADD(mm, DATEDIFF(m,0,getdate()),0)) 

Ngày cuối cùng của tháng hiện tại

SSRS=Today.AddDays(1-Today.Day).AddMonths(1).AddDays(-1) 
SQL=SELECT DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE())+1,0)) 

Ngày đầu tiên của năm hiện tại

SSRS=Today.AddMonths(1-Today.month).AddDays(1-Today.day) 
SQL=SELECT DATEADD(yy, DATEDIFF(yy,0,getdate()), 0) 

ngày cuối cùng của hiện tại Năm

SSRS=Today.AddDays(1-Today.Day).AddMonths(13-today.month).AddDays(-1) 
SQL=SELECT DATEADD(dd,-1,DATEADD(yy,0,DATEADD(yy,DATEDIFF(yy,0,getdate())+1,0))) 

Tôi hy vọng điều này sẽ giúp ích cho người nào đó.

+0

có nó đã làm, cảm ơn – TheEmirOfGroofunkistan

Các vấn đề liên quan