目前我有以下ORACLE代碼輸出給定MonthYear的星期的StartDate和EndDate作爲輸入。如何在PostgreSQL中輸入MonYYYY時使用generate_series輸出星期startDate和endDate
WITH t
AS (SELECT To_date('Jan2014', 'MonYYYY') orig_date,
Next_day(To_date('Jan2014', 'MonYYYY') - 7, 'MONDAY') start_day
FROM dual)
SELECT start_day + (7 * (LEVEL - 1)),
start_day + (7 * (LEVEL - 1)) + 6
FROM t,
dual
CONNECT BY start_day + (7 * (LEVEL - 1)) <
Add_months(Trunc(orig_date, 'MM'), 1);
所需O/P應當輸入是Jan2014是
30 Dec 2013 to 05 Jan 2014,
06 Jan 2014 to 12 Jan 2014,
13 Jan 2014 to 19 Jan 2014,
20 Jan 2014 to 26 Jan 2014,
27 Jan 2014 to 02 Feb 2014
如何使用PostgreSQL的generate_series或類似PostgreSQL代碼輸出所需的startDate和結束日期以上述格式??
我很困惑。以上代碼在Postgres中不起作用,因爲它是Oracle代碼。它應該在Postgres中返回一個錯誤(我得到的是'by'在錯誤的地方)。那麼,Oracle *沒有返回正確結果的問題呢?問題是你不能在Postgres中寫這段代碼?或者,在問題中確實有與查詢無關的特定結果?沒有人試圖回答這個問題,所以你在修復它時有很大的靈活性。 –
是的,你說得對。道歉我無法在postGreSQL中編寫代碼,上面的代碼是Oracle代碼。請建議 –