文字列変換

OracleDB2で文字列変換関数の仕様が違うようです。
DB2でDECIMALを文字列変換すると、DOUBLEの文字列が返ってきます。
SMALLINTやINTEGERを文字列変換すると、SMALLINTは6桁、INTEGERは11桁で返ってきます。長さが足りない分はスペースが付きます。

management_month(管理年月、DECIMAL(6,0))が[200503]のとき、
Oracle
 SELECT TO_CHAR(management_month) FROM m_mng
 結果 =>[200503]
DB2
 SELECT CHAR(management_month) FROM m_mng
 結果 =>[200503. ]

管理年月の初日(20050301)をとりたいとき、
Oracle
 SELECT TO_NUMBER(TO_CHAR(management_month) || '01')
 FROM m_mng
 結果 =>[20050301]
DB2
 SELECT INTEGER(REPLACE(CONCAT(CHAR(CAST(management_month AS INTEGER)), '01'),' ' ,''))
 FROM m_mng
 結果 =>[20050301]
 DECIMALをINTEGERにCASTして、CHARしたらスペースが付くのでREPLACEして
 ます。もっとウマイやり方があると思いますが。。