oracle 时间格式转化以及计算

--A表中的日期字段 create_date   例如:2017-08-05  转化为2017年8月5日   oracle 在这里的双引号会忽略

select to_char(to_date(tt.create_date,'yyyy-MM-dd'),'yyyy"年"MM"月"dd"日"')  from  A tt;

--将系统时间转化为字符串
select to_CHAR(sysdate,'yyyy-MM-DD HH24:MI:SS') from dual;

--当前时间加一天
select to_char((sysdate+1),'yyyy-MM-dd HH24:mi:ss') from dual;

--当前时间加30分钟,+1 默认是一天
select to_char((sysdate+30/24/60),'yyyy-MM-dd HH24:mi:ss') from dual;

--当前时间加一个月
select to_char(add_months(sysdate,1),'yyyy-MM-dd HH24:mi:ss') from dual;

--将字符串转化为时间格式
select to_date('2017-02-05 13:12:56','yyyy-MM-DD HH24:MI:SS') from dual;

--获取两个时间相差的月份
select months_between(sysdate,sysdate+1) from dual;

--获取两个时间相差的年
select months_between(sysdate,add_months(sysdate,1*12))/12 from dual;

原文地址:https://www.cnblogs.com/blogxiao/p/7495782.html