我有一個(Postgre)SQL表日期所存儲這樣生成日期了多列
YEAR B-MONTH E-MONTH
2000 01 05
2004 03 06
2010 07 12
2004 01 12
我怎樣才能把這些「真正的」日期字段?我想輸出看起來像這樣:
BEGIN END
2000-01-01 2000-05-31
2004-03-01 2004-06-30
2010-07-01 2010-12-31
2004-01-01 2004-12-31
在此先感謝您!
[溶液]
這是我結束了的溶液:
開始
TO_DATE(TO_CHAR("YEAR", '9999') || TO_CHAR("B-MONTH", 'FM00') || '01', 'YYYYMMDD') AS BEGIN
端
CAST(TO_DATE(TO_CHAR("YEAR", '9999') || TO_CHAR("E-MONTH", 'FM00') || '01', 'YYYYMMDD') + INTERVAL ('1 MONTH - 1 DAY') AS DATE) AS END
[編輯]
它也可以這樣:
開始
TO_DATE(TO_CHAR("YEAR", '9999') || TO_CHAR("B-MONTH", 'FM00'), 'YYYYMM') AS BEGIN
年底
CAST(TO_DATE(TO_CHAR("YEAR", '9999') || TO_CHAR("E-MONTH", 'FM00'), 'YYYYMM') + INTERVAL ('1 MONTH - 1 DAY') AS DATE) AS END
請發表您到目前爲止寫的代碼。人們通常不喜歡只爲你寫代碼。事實上,這是一個工作描述,而不是一個問題。 – 2011-05-19 08:44:07
感謝您的建議。我不知道如何開始,因爲我不知道將整數值轉換爲日期部分的函數。但請不要閱讀我的問題,就像我希望你爲我編碼整個事情。如果有人指向我有用的功能,我會很高興。 – speendo 2011-05-19 08:55:29