Total Pageviews

2011/12/28

善用Oracle提供的function來提升系統效能



有關報表的日期欄位,資料庫是儲存成yyyMMDD or yyyMM。根據現有需求,需formatting成YYY/MM或者是YYY/MM/DD格式,因為效能考量,此類的formatting應在SQL裡頭做,不要放到AP level做。

舉個例子來說

  • 屆滿年月
    • NVL2(NIGT001.APL_LIMIT_YM, SUBSTR(NIGT001.APL_LIMIT_YM,0,3)||'/'||SUBSTR(NIGT001.APL_LIMIT_YM,4,2), ' ')
  • 作業日期
    • NVL2(NIGT001.PRST_PRCD_DATE, SUBSTR(NIGT001.PRST_PRCD_DATE,0,3)||'/'||SUBSTR(NIGT001.PRST_PRCD_DATE,4,2)||'/'||SUBSTR(NIGT001.PRST_PRCD_DATE,6,2), ' ')
 
Oracle相關語法簡介:
 

No comments: