oracle 常用轉換函數(to_char,to_date,to_number)
oracle 常用轉換函數(to_char,to_date,to_number)
http://blog.blueshop.com.tw/pili9141/articles/52565.aspx
| 1 | to_char(d[,fmt[,'nlsparams']]) |
| 2 | --◎ 轉換日期欄位資料成自定格式文字 |
| 3 | --◎ 當沒有輸入fmt時,將使用預定的日期格式轉換 |
| 4 | --◎ 'nlsparams'是用來決定月份與日期的縮寫格式,語法為'NLS_DATE_LANGUAGE = language' |
| 5 | |
| 6 | ex1. |
| 7 | select sysdate, to_char(sysdate,'Month DD,YYYY HH:MI:SS') aa from dual; |
| 8 | |
| 9 | SYSDATE AA |
| 10 | ---------- -------------------------- |
| 11 | 27-SEP-07 September 27,2007 11:40:07 |
| 12 | |
| 13 | --◎ 轉換數字欄位資料成自定格式文字串 |
| 14 | --◎ 'nlsparams'可用來定義下列數字格式 |
| 15 | -- 1. 小數點(.) |
| 16 | -- 2. 每三位為一單位的區隔符號(,) |
| 17 | -- 3. 區域性的幣值符號(NT) |
| 18 | -- 4. 國際發行的幣值符號($) |
| 19 | -- 設定方式; |
| 20 | -- 'NLS_NUMBERIC_CHARACTERS = "dg" |
| 21 | -- NLS_CURRENCY = "text" |
| 22 | -- NLS_ISO_CURRENCY = territory' |
| 23 | |
| 24 | ex2. |
| 25 | select to_char(-10000,'L99G999D99MI') aa from dual; |
| 26 | |
| 27 | AA |
| 28 | --------------- |
| 29 | NT$10,000.00- |
| 30 | |
| 31 | select to_char(-10000,'L99G999D99MI', |
| 32 | 'NLS_NUMERIC_CHARACTERS=., NLS_CURRENCY=AUD') aa from dual; |
| 33 | |
| 34 | --◎ L99:Currency |
| 35 | --◎ G999:Group |
| 36 | --◎ D99:小數點 |
| 37 | --◎ MI:負號 |
| 38 | |
| 39 | to_date(char[,fmt]) |
| 40 | -- 根據fmt的格式將char或varchar2的資料型態轉成date的資料型態 |
| 41 | |
| 42 | ex. |
| 43 | select sysdate, to_date('20070808','YYYYMMDD') aa from dual; |
| 44 | |
| 45 | SYSDATE AA |
| 46 | ---------- ---------- |
| 47 | 21-SEP-07 08-AUG-07 |
| 48 | |
| 49 | to_number(char,[,fmt[,'nlsparams']]) |
| 50 | --將數字格式的文字,轉換成數字 |
| 51 | |
| 52 | ex. |
| 53 | select to_number('NT$10,000.00','L99G999D99') aa from dual; |
| 54 | |
| 55 | AA |
| 56 | ---------- |
| 57 | 10000 |
| 58 | |
| 59 | select to_number('1000')+10 aa from dual; |
| 60 | |
| 61 | AA |
| 62 | ---------- |
| 63 | 1010 |
浙公网安备 33010602011771号