我正在自动生成一个当前有3个日期设置参数的报告,用户输入。请注意,我们的日期是yyyymmdd格式。
我们希望第一组来自当前日期: ToText(CurrentDate,'yyyyMMdd')直到年底。我可以硬编码20151231,但不愿意。你会如何编写一年中最后一天的脚本?
答案 0 :(得分:1)
假设您使用的是最新版本的SQL Server:
当前日期:
select today = convert(date, current_timestamp )
本月第一天:
select first_of_month = convert(date,
dateadd(day, 1-day(current_timestamp) , current_timestamp )
)
本月最后一天:
select last_of_month = convert(date,
dateadd(day, 1-day(dateadd(month,1,current_timestamp)) ,
dateadd(month,1,current_timestamp)
)
)
本年度第一天:
select first_of_year = convert(date,
dateadd(day, 1-datepart(dayofyear,current_timestamp) , current_timestamp )
) ,
本年度最后一天:
select last_of_year = convert(date,
dateadd(year,1,
dateadd(day, -datepart(dayofyear,current_timestamp) , current_timestamp )
)
)