Pus*_*ode 1 sql-server dateadd
不确定如何获取当前表达式并获取本周的结束日期.
我当前的表达式返回日期,距离今天一周.
DateAdd(DateInterval.WeekOfYear, 1, today())
Run Code Online (Sandbox Code Playgroud)
我想要做的是返回该周的结束日期(星期六).
我需要在此表达式中添加什么才能获得所需的结果?
谢谢!
好吧,看起来我已经拥有它,但它很难看.任何人都可以帮我简化这个吗?
这就是我所拥有的,基于将Raj的例子变成一个表达式:
="一周预计积压w/e"和DateAdd(DateInterval.Day,-1*DatePart(DateInterval.WeekDay,(DateAdd(DateInterval.WeekOfYear,1,today())))+ 7,(DateAdd(DateInterval.WeekOfYear) ,1,今天())))
试试这个
Declare @DateValue DateTime = '3/1/2010'
select DATEADD (D, -1 * DatePart (DW, @DateValue) + 7, @DateValue)
Run Code Online (Sandbox Code Playgroud)
我基本上计算了一周中的哪一天,然后是传入的日期,然后用-1乘数软件计算一周的开始,然后通过向它添加7来向前移动到星期六.
当然,这只有在SQL Server设置为星期日开始的一周时才有效
对于SQL Server报告服务,我认为这应该适用于本周的Sat
DATEADD (DateInterval.Day, -1 * DatePart (DateInterval.DayOfWeek, Today()) + 7, Today())
Run Code Online (Sandbox Code Playgroud)
下周六周六
DATEADD (DateInterval.Day, -1 * DatePart (DateInterval.DayOfWeek, Today()) + 14, Today())
Run Code Online (Sandbox Code Playgroud)