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的位数,不能小于。