我有一張表,每週填充一次信息,並在表中填入單個列的日期。計算前一週
我就基本上從本週起對從上週專門的數據進行比較數據的查詢工作,所以我需要知道上週一週了。這很容易以下列方式完成:
WHERE TO_CHAR(LASTWEEK.DATE_GENERATED, 'IW') = TO_CHAR(SYSDATE, 'IW') -1
AND TO_CHAR(LASTWEEK.DATE_GENERATED, 'YY') = TO_CHAR(SYSDATE, 'YY')
該表可能包含幾年的數據,因此我也檢查年份是否相同。
問題是當我們在今年的第一週,我們希望以比較前一週持平。這樣,我們在第1周減1,它給了我們0,但我希望它與從最後一年的第54周進行比較。
有沒有辦法做到這一點?
我覺得TRUNC功能可能與這方面的工作,但我不確定如何使用它在這種情況下,也同時要注意,它不應該與之比較的同一年,但去年。
提前致謝!
只是爲了如果你使用IW,你應該使用IYYY(或者至少IY),否則你可能會得到奇怪的結果。2016-01-01是1653與YYIW和201653與YYYYIW ;但1553與IYIW和201553與IYYYW。(和1601 wi如果您願意,可以使用YYWW和201601;只是一致)。 –