4、转换型函数
Round:四舍五入日期时间,可以是天,也可以是小时,分
EXP:
select round(sysdate,'MI') from dual;
select round(sysdate,'HH') from dual;
select round(sysdate) from dual;
Trunc:截断日期,可以是天,也可以是小时,分
Exp:
select trunc(sysdate,'MI') from dual;
cast:进行数据类型的转化
Exp:
select cast(sysdate as varchar2(100)) from dual;
NUMTODSINTERVAL:将间隔指定为时分秒间隔类型
Exp:
SELECT SYSDATE
,SYSDATE+NUMTODSINTERVAL(2,'HOUR') "2 hours later"
,SYSDATE+NUMTODSINTERVAL(30,'MINUTE') "30 minutes later"
,sysdate+1/12
,sysdate+1/48
FROM dual;
NUMTOYMINTERVAL:转化间隔为年月类型
Exp:
SELECT SYSDATE
,SYSDATE+NUMTOYMINTERVAL(2,'YEAR') "2 years later"
,SYSDATE+NUMTOYMINTERVAL(6,'MONTH') "6 months later"
FROM dual;
To_char:转化日期和数字类型为字符类型
Exp:
SELECT TO_CHAR(SYSDATE, 'dd" day of "Month, YYYY" Quarter="q" weekday="day') from dual;
SELECT to_char(sysdate,'" time="hh24-mi-ss.sssss" week of month="w" week of year="www') from dual;
select to_char(sysdate, '"day of a week="d" day of year="ddd') from dual;
SELECT SYSDATE
,TO_CHAR(SYSDATE,'Mmspth') Month
,TO_CHAR(SYSDATE,'DDth') Day
,TO_CHAR(SYSDATE,'Yyyysp') Year
,TO_CHAR(SYSDATE,'year') Year
,TO_CHAR(SYSDATE,'YEAR') Year
FROM dual;
SELECT TO_CHAR(123456,'9.99999EEEE')
,TO_CHAR(123456,'9.9EEEE')
FROM dual;
To_number: 转化字符类型为数字类型
TO_DATE:字符类型转换为日期类型
Exp:
SQL> select to_date('day of a week=3 day of year=115', '"day of a week="d" day of year="ddd') from dual;
TO_DATE('DAYOFAWEEK=3DAYOFYEAR
------------------------------
2012/4/24
TO_DSINTERVAL:转换为日期可以接受的INTERVAL DAY TO SECOND类型。
SELECT SYSDATE
,SYSDATE+TO_DSINTERVAL('007 12:00:00') "+7 1/2 days"
,SYSDATE+7.5 "+7 1/2 days"
FROM dual;