我試圖將當前日期 - 2個月轉換爲格式yyyymmdd並從中減去1900000。將日期轉換爲AS400中的字符
甲骨文很容易對我來說
SELECT TO_CHAR(ADD_MONTHS(SYSDATE,-2),'YYYYMMDD') - 19000000 FROM DUAL
有人建議我同爲AS400。
在此先感謝。
我試圖將當前日期 - 2個月轉換爲格式yyyymmdd並從中減去1900000。將日期轉換爲AS400中的字符
甲骨文很容易對我來說
SELECT TO_CHAR(ADD_MONTHS(SYSDATE,-2),'YYYYMMDD') - 19000000 FROM DUAL
有人建議我同爲AS400。
在此先感謝。
EVAL numericField = %dec(%date(alphaDate:*MDY/):*MDY)
炭字段必須是炭字段的格式後面的PARM(I用* MDY以「/」的示例)。
表達式末尾的parm必須是數字字段的格式。 所以這個例子轉換11/22/2008到11222008.
如果你想2008-11-22轉換爲20081122使兩個parms * ISO。
SELECT DEC(SUBSTR(CHAR(DATE(NOW()) - 2個月),ISO),1,4)|| (日期(現在()) - 2個月),ISO),6,2)。 SUBSTR(CHAR(DATE(NOW()) - 2個月),ISO),9,2),8,0) - 19000000 FROM DUAL
這應該做的伎倆:
select char(((year(d)-1900) * 100 + month(d)) * 100 + day(d))
from (select (curdate() - 2 months) as d from sysibm/sysdummy1) s
或者如果你喜歡做同樣沒有嵌套查詢:
select char(((year(curdate() - 2 months) - 1900) * 100
+ month(curdate() - 2 months)) * 100
+ day(curdate() - 2 months))
from sysibm/sysdummy1
乾杯
這是豆蔻末的答案,但應該做的伎倆:)
select char((year(curdate() - 2 months) * 100
+ month(curdate() - 2 months)) * 100
+ day(curdate() - 2 months))
from sysibm/sysdummy1
這是幾乎相同karol.mlot的答案,但是,你會得到正確的格式,因爲你要的年月日
最簡單的可能是:
SELECT DEC(REPLACE(CHAR(CURDATE() - 2 MONTHS,ISO),'-',''))-19000000 FROM SYSIBM/SYSDUMMY1
有些想法可能挖出更好的東西。但無論如何它都不會變得更簡單。
謝謝,但你請給我一些類似oracle的東西,它是選擇DEC(DATE((CURRENT_DATE -2 MONTHS),ISO)FROM SYSIBM.SYSDUMMY1的格式。我將轉換爲yyyy-mm-dd,但之後我不能夠,請你指導。謝謝你的時間和幫助 – kdev 2010-10-28 18:15:02