在sql server中为已存储在sql数据库中的月份选择一个月的第一天和最后一天
本文关键字:sql 一个 第一天 最后一天 选择 存储 数据库 server | 更新日期: 2023-09-27 18:19:27
我对此有一个小想法,但我不知道如何在sql server(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()
。
借鉴Gordon的答案:
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