2010年4月14日 星期三

ORACLE PL/SQL 常用轉換函數(轉)



to_char(d[,fmt[,'nlsparams']])
–◎ 轉換日期欄位資料成自定格式文字
–◎ 當沒有輸入fmt時,將使用預定的日期格式轉換
–◎ ‘nlsparams’是用來決定月份與日期的縮寫格式,語法為’NLS_DATE_LANGUAGE = language’


ex1.
select sysdate, to_char(sysdate,’Month DD,YYYY HH:MI:SS’) aa from dual;


SYSDATE AA
———- ————————–
27-SEP-07 September 27,2007 11:40:07


–◎ 轉換數字欄位資料成自定格式文字串
–◎ ‘nlsparams’可用來定義下列數字格式
xyz — 1. 小數點(.)
— 2. 每三位為一單位的區隔符號(,)
— 3. 區域性的幣值符號(NT)
— 4. 國際發行的幣值符號($)
— 設定方式;
— ‘NLS_NUMBERIC_CHARACTERS = “dg”
— NLS_CURRENCY = “text”
— NLS_ISO_CURRENCY = territory’


ex2.
select to_char(-10000,’L99G999D99MI’) aa from dual;


AA
—————
NT$10,000.00-


select to_char(-10000,’L99G999D99MI’,
‘NLS_NUMERIC_CHARACTERS=., NLS_CURRENCY=AUD’) aa from dual;


–◎ L99:Currency
–◎ G999:Group
–◎ D99:小數點
–◎ MI:負號


to_date(char[,fmt])
— 根據fmt的格式將char或varchar2的資料型態轉成date的資料型態


ex.
select sysdate, to_date(’20070808′,’YYYYMMDD’) aa from dual;


SYSDATE AA
———- ———-
21-SEP-07 08-AUG-07


to_number(char,[,fmt[,'nlsparams']])
–將數字格式的文字,轉換成數字


ex.
select to_number(’NT$10,000.00′,’L99G999D99′) aa from dual;
AA
———-
10000


select to_number(’1000′)+10 aa from dual;
AA
———-
1010


 


xyz軟體補給站 Oracle資料庫Date資料型態的使用


如果只要存入日期,可以利用內建函數
TRUNC(date)
來消去,時、分、秒的資料。


沒有留言:

張貼留言