簡體   English   中英

在SQL Server中選擇一個月的第一天和最后一天,以存儲在SQL數據庫中一個月

[英]Select the first and the last day of a month in sql server for a month already stored in SQL Database

我對此有一個小主意,但我不知道如何在sql服務器(MSDN)中解釋它。

if (Month < ActualMonth)
{
  (StartDateReq = FirstDayMonth);
  (EndDatereq) = LastDayMonth);
}
else if (Month = currenTimeStamp)
 {
  (EndDateReq = currentTimeStamp);
 }

如果您在SQL Server中有日期,則可以使用以下命令獲取當月的第一天和最后一天:

select dateadd(day, 1 - day(datecol), datecol) as firstday,
       dateadd(day, -1, dateadd(month, 1, dateadd(day, 1 - day(datecol), datecol))) as lasstday

在SQL Server 2012+中,可以在每月的最后一天使用函數EOMONTH()

利用戈登的答案:

DECLARE @myDate Date = '2015-10-25'

select DATEADD(DAY, 1 - DAY(@myDate), @myDate) as firstday,
       CASE WHEN YEAR(@myDate) = YEAR(GETDATE()) AND 
                 MONTH(@MyDate) = MONTH(GETDATE()) 
       THEN @MyDate
       ELSE DATEADD(DAY, -1, DATEADD(MONTH, 1, DATEADD(DAY, 1 - DAY(@myDate), @myDate))) 
       END as lasstday

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM