在当前周的前两周创建特定工作日的日期

时间:2014-04-23 12:18:57

标签: sql date h2

我试图创建一个创建DATE的SQL语句(在H2 Dialect中) 周二"周年"这是本周的两周。

例如,给定CURRENT_DATE()返回2014-04-23,我想要的日期是2014-04-08,即本周的星期二,即星期几之前的两周#34; 2014年4月23日"是在。

如何用H2的日期和时间功能表达这一点?

1 个答案:

答案 0 :(得分:3)

我会这样做

DECLARE @date DATE = GETDATE();
SELECT DATEADD(DAY,3-DATEPART(WEEKDAY,@date),DATEADD(WEEK,-2,@date))

其中' 3'表示星期几(星期二)和' -2'表示减去两周。

所以现在在中它非常相似

SELECT DATEADD('DAY',3-DAY_OF_WEEK(CURRENT_DATE()),DATEADD('WEEK',-2,CURRENT_DATE()))