您的位置:首页 > 数据库 > Oracle

Oracle中的数据类型转换函数to_char

2014-09-12 10:31 211 查看

Oracle中的数据类型转换函数to_char  

2009-03-04 09:08:01|  分类: Database|举报|字号 订阅

Oracle中的显式转换函数中,to_char是一个非常重要的函数,和to_date函数、to_number函数共同构成了oracle中的显式转换函数体系。Oracle中的to_char函数是一个非常常用而且灵活多变的函数,几乎可以将你的字符串变成你想要的任何形式。to_char一般有两种形式的用法,一是把日期型的数值变成字符串型的,二是把数值型的值变成字符串型的。
第一种形式:日期型的数值变成字符串型的
to_char(date,’格式模型’)
其中的格式模型是你希望转换出来的格式是什么样子。这个你可以自己定义。
注意格式模型必须包含在一对单引号之内且大小写敏感,可以包含一些预定义的格式元素,可以包含一个fm来去除空格或者多余的0
这里提到的预先定义的格式元素有两类,一是日期类型的
有如下所示的几个:
4000
格式元素
含义
YYYY
完整的年份数字号码
YEAR
把当前的年份拼出来
RR
年份中阿拉伯数字的最后两位
MM
两位数的月份
MONTH
把当前的月份拼出来
MON
三个字母人月份
DY
用三个字母来表示当前的星期数
DAY
当前星期数的全拼
DD
数字的月份日期值
HH24
24进制的小时数
MI
分钟数
SS
秒数
SQL> select to_char(sysdate,’YEAR MM DD hh12:mi:ss’) from dual;
TO_CHAR(SYSDATE,’YEARMMDDHH12:MI:SS’)
——————————————————————————–
TWO THOUSAND EIGHT 04 26 09:55:38
上例中的月份’04’中的0其实是多余的,还可以将0去除的,这就需要使用’fm’关键字了,例如
SQL> select to_char(sysdate,’fmYYYY-MM-DD hh24:mi:ss’) from dual;
TO_CHAR(SYSDATE,’FMYYYY-MM-DDHH24:MI:S
————————————–
2008-4-26 22:11:41
使用fm关键词之后就没有多余的0了。
第二种形式:数值型的数值变成字符串型的
to_char(numeric,’格式模型’)
其中的格式模型有如下几种预先定义的模式,有如下几个
9
代表一个数字
0
强迫0显示
$
显示美元符号
L
强制显示一个当地的货币符号
.
显示一个小数点
,
显示一个千位分隔符号
例如:
SQL> select to_char(32346.123,’L99,999.99999′) from dual;
TO_CHAR(32346.123,’L99,999.99999′)
———————————————-
RMB32,346.12300
如果我们希望每个数值转换成字符串后时期位数相同,还可以强制在前面和后面加0,例如:
SQL> Select to_char(sal,’$00,000.00′) from emp;
TO_CHAR(SAL,’$00,000.0
———————-
$01,100.00
$01,600.00
$01,250.00
$02,975.00
$01,250.00
$02,850.00
$02,450.00
$03,000.00
$05,000.00
$01,500.00
$01,100.00
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: