TO_NUMBER(char[,'format_model'])字符轉換到數字類型
TO_DATE(char[,'format_model'])字符轉換到日期類型
格式說明符:要與前邊要轉換的字符串的格式要相同才能轉換(匹配問題:格式和位數)。
TO_CHAR(date[,'format_model'[,nlsparams]])
第二個參數可以省略,不指定格式,按系統默認格式輸出。
區分大小寫。
使用FM(在格式控制符前添加)符號可以去掉空格或是首位的零。
如果指定了NLSPARAMS,則它控制返回字符串的月和日分量所使用的語言。格式為:
'NLS_DATA_LANGUAGE=language',language指需要的語言。
例:
selectto_char(sysdate,'FMyyyy-mm-dd')fromdual;
格式控制符的類型:
YYYY四位的年
YEAR年的拼寫
MM2位數字的月
MONTH月的全名
MON月名的前三個字符
DY星期名的前三個字符
DAY星期名的全稱
DD2位的天
時間格式控制符:
HH24:MI:SSAM
HH12:MI:SSPM
通過“”來實現加入特殊字符的格式控制符。
SELECTTO_CHAR(SYSDATE,'FMyyyy"年"mm"月"dd"日"')fromdual;
DDSPTH
~~
DD是格式控制符。
TH是序數詞,將日期轉換成英文的序數詞拼寫。
SP是基數詞,將日期轉換成英文的基數詞拼寫。
TO_CHAR(NUM[,'format_model'[,nlsparams]])轉換數字
將NUMBER類型參數NUM轉換成VARCHAR2類型。如果指定FORMAT,它會控制整個轉換。
如果沒有指定FORMAT,那么結果字符串中將包含和NUM中有效位的個數相同的字符。NLSPARAMS用來指定小數點和千分符及貨幣符號。它的格式可為:'NLS_NUMERIC_CHARS=''dg''NLS_CURRENCY=''string'''
d和g分別代表小數點和千分符。STRING代表貨幣符號。
數字格式控制符:
9代表一位數字(替換符。有,數字顯示;沒有。不什么都顯示。)
0代表一位數字(有數字,顯示;沒有,強制顯示0。)
$美圓符號
L本地貨幣
.小數點
,千分符
B當整數部分為0時,將整數部分填充為空格。例:B999
MI返回帶有后繼符號而不是前導負號的負數值,正數值將帶有后繼的空格。999MI
S返回一個前導符號或后繼符號,正數為+,負數為-。S9999或9999S
PR使用尖括號返回負數。正數將有前導或后繼空格。999PR
D在指定位置返回一個小數點。兩側的9的個數指定了最大的位數。99D9
G在指定位置返回千分符,G可以在FORMAT_model中出現多次。9G999G9
C在指定位置返回ISO貨幣符號。C可以在FORMAT_model中出現多次。C99
L在指定位置上返回本地貨幣符號。L99
V返回一個被乘以10的N次方的數值,這里N是V后邊9的個數。99V99
EEEE使用科學記數法返回該數值。9.99EEEE
RM使用大寫的羅馬數字表示返回該數值。RM
rm使用小寫的羅馬數字表示返回該數值。rm
FM返回不含前導和后繼空格的數值。FM99.09
格式控制符位數一定要大于或等于NUMBER的位數,不能小于。