2016-08-18 5 views
-1

last_dayデータをyyyymmddからddmmyyyyに変換する際に問題があります。 私のフィールドは整数です。私はcharに変換します。それから私はto_dateにフォーマットしようとします。 ddmmyyyyに変換しようとしました。いくつかのエラーメッセージが表示されます。lastdday形式をDB2でddmmyyyyに変換する方法

This is my formula: 
LAST_DAY(to_date(cast(IVL_SCHEDULER_PROC_DATE as char(8)),'yyyymmdd')) 

Result 
2016-08-18 

Expected Result 
18-08-2016 

誰でも知っていますか?

答えて

1

以下のようにvarchar_formatを使用できます。

SELECT VARCHAR_FORMAT(TO_DATE("IVL_SCHEDULER_PROC_DATE",'YYYY-MM-DD'),'MM-DD-YYYY') from db2inst1.test 
18-08-2016 

これはvarchar_formatのlast_day関数です。

SELECT VARCHAR_FORMAT(LAST_DAY(TO_DATE("IVL_SCHEDULER_PROC_DATE",'YYYY-MM-DD')),'MM-DD-YYYY') from db2inst1.test 
31-08-2016 
+0

yes.itが機能します。あなたはフィールドを変換するのを忘れました。キャストする必要があります(IVL_SCHEDULER_PROC_DATEはchar(8))、 'yyyymmdd') –

1

これは機能しますか?

select 
    varchar(mod(IVL_SCHEDULER_PROC_DATE,100)) || '-' || 
    varchar(mod(IVL_SCHEDULER_PROC_DATE/100,100)) || '-' || 
    varchar(IVL_SCHEDULER_PROC_DATE/10000) 

テスト値20151231を使用すると、'31 -12-2015 'という結果が得られます。

+0

yes.it work.TQ. :) –

関連する問題