当字符串符合下面的日期格式时,可以实现隐式字符到日期(character to date)的转换:[D|DD] separator1 [MON|MONTH] separator2 [R|RR|YY|YYYY]。D和DD分别表示月份中1位和2位的日子。MON是月的三字符缩写词,而MONTH是月的全名。R和RR分别表示满意位和2位数字的年。YY和YYYY分别表示2位和4位数字的年。separator1和separator2元素可以是大多数标点符号、空格和制表符。
'24-JAN-09' DD-MON-RR
'1\\january/8' D\\MONTH/R
'13*jan*8' DD*MON*R
'13/feb/2008' DD/MON/YYYY
'01$jan/08' DD$MON/RR
'24-JAN-09 18:45' DD-MON-RR HH24:MI
六、转换函数 TO_CHAR函数将数据转换为字符TO_CHAR函数返回VARCHAR2数据类型的值。当将它应用于NUMBER数据类型的值时TO_CHAR(num1[,format mask[,nls_parameters]])
num参数是强制性的,它必须是一个数字值。可选的format参数用来指定数字格式信息——例如宽度、货币符号、小数点的位置和组(或者千位)分隔符,必须将它们包含在单引号内。除此之外,对于要转换为字符的数字而言,还有其他一些格式信息的选项。
select to_char(00001) from dual;
select to_char(00001,'099999') from dual;
TO_CHAR函数将数据转换为字符
格式元素
元素说明
格式
数字
字符结果
9
数字宽度
9999
12
12
0
显示前面的0
09999
0012
00012
.
小数点的位置
09999.999
030.40
00030.400
D
小数分隔符的位置(默认为名点)
09999D999
030.40
00030.400
,
逗号的位置
09999,999
03040
00003,040
G
组分隔符的位置(默认为逗号)
09999G999
03040
00003,040
$
美元
$099999
03040
$003040
L
当地货币
L099999
03040
GBP003040(如果nls_currency设置为GBP)
MI
表示负数的减号的位置
99999MI
-3040
3040-
PR
包围在括号内的负数
99999PR
-3040
<3040>
EEEE
科学计数法
99.99999EEEE
121.976
1.21976E+02
U
Nls_dual_currency
U099999
03040
CAD003040(如果nls_dual_currency设置为CAD)
V
乘以10n次(n是V之后9的数量)
9999V99
3040
304000
S
前面加上+或者-
S999999
3040
+3040
TO_CHAR函数将日期转换为字符
使用TO_CHAR函数,可以利用各种格式模型将DATE项转换为几乎所有日期的字符表示形式。
语法:TO_CHAR(date1[,format[,nls_parameter]])