01-FEB-13 -- 所以在round的时候就变成了2013年2月1日
SQL> select round(to_date('
2013-01-14
','yyyy-mm-dd'),'MONTH') from dual;
ROUND(TO_
---------
01-JAN-13 --当前时间为2013-01-14(小于半数),所以这里变成了2013年1月1日
TRUNC
TRUNC为截断函数,此函数和round的区别为此函数不对数据四舍五入,而是通通截断。
SQL> select trunc(sysdate,'MONTH') day from dual;
---------
01-JAN-13
SQL> select round(to_date('2013-01-14','yyyy-mm-dd'),'MONTH') day from dual;
---------
01-JAN-13
to_char
函数的使用
上图为显式转换图,但是NUMBER和DATE不能直接转换,需要借用to_char中转后才能转换
我们先来看TO_CHAR
to_char可以将日期或数字格式转换成字符串格式,上图中的fm表示切除前导0
SQL> select to_char(to_date( '2014-1-1','yyyy-mm-dd'), 'DD Month YYYY') from dual;
TO_CHAR(TO_DATE('
-----------------
01
January 2014
SQL> select to_char(to_date( '2014-1-1','yyyy-mm-dd'), 'fmDD Month YYYY') from dual;
TO_CHAR(TO_DAT
--------------
1
January 2014
to_char还能够格式化钱币金额的输出
转化成人民币格式输出:
select TO_CHAR(1800,'L99,999.00',
'NLS_CURRENCY=¥
') from dual; --NLS_CURRENCY定义了本地金钱的符号
TO_CHAR(17145.77,'L99,999.00','NLS_CURRE
----------------------------------------
¥1800
to_char还能够进行10进制到16进制的转换
SQL> select to_char(10,'x') from dual;
转换时会舍弃小数位
SQL> select to_char(10.234,'x') from dual;
SQL> select to_char(sysdate,'dddd') from dual; --四个D其实就是DDD的结果||D的的结果-一年中的第17天,一周的第五天。
补充内容YY与RR
SQL> select to_char(sysdate,'RR') from dual;
SQL> select to_char(sysdate,'YY') from dual;
YY与RR都表示年,一般外国人都用RR而国内都用YY,他们之间有区别吗,有的!
YY:输出的世纪一定跟当前时间的世纪保持一致
RR:见下图
若当前年在0-49之间,而要取的年在0到49之间的话,输出结果为当前世纪。
若当前年在0-49之间,而要取的年在50到99之间的话,输出结果为当前世纪的前一个世纪。
若当前年在50-99之间,而要取的年在0到49之间的话,输出结果为当前世纪的后一个。
若当前年在50-99之间,而要取的年在50到99之间的话,输出结果为当前的世纪。
SQL> select to_char(to_date('48-01-01','RR-MM-DD'),'YYYY-MM-DD') from dual;
TO_CHAR(TO
----------
2048-01-01
SQL> select to_char(to_date('51-01-01','RR-MM-DD'),'YYYY-MM-DD') from dual;
TO_CHAR(TO
----------
1951-01-01
其实RR就是为了显示离当前数据库世纪最近的日期,而YY永远跟当前实际一致!
SQL> select to_char(to_date('48-01-01','YY-MM-DD'),'YYYY-MM-DD') from dual;
TO_CHAR(TO
----------
2048-01-01
SQL> select to_char(to_date('51-01-01','YY-MM-DD'),'YYYY-MM-DD') from dual;
TO_CHAR(TO
----------
2051-01-01
good luck
qq 2087425608
2014.3.12
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员