2014-04-23 132 views
0

我試圖創建一個SQL語句(在H2 Dialect中),該語句在兩週的「每週」創建DATE,該日期爲 從本週開始。在本週前兩週的特定工作日創建日期

例如,如果CURRENT_DATE()返回2014-04-23,那麼我想要的日期是2014-04-08,即星期二(即星期前兩週的星期二)Date「2014- 04-23「。

如何用H2的日期和時間函數來表達這一點?

回答

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())) 
+0

那偉大工程,謝謝!請注意:您的第二個(h2)語句缺少右括號。 – ptikobj

+0

修好了,謝謝。 –