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 |