Loading

Oracle 在SQL语句中如何获取系统当前时间并进行操作

 

select sysdate from dual;
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
select to_char(sysdate,'yyyy-mm-dd hh24:mi') from dual;

 

 


select to_char(sysdate, 'yyyy' ) from dual; --年
select to_char(sysdate, 'MM' ) from dual; --月
select to_char(sysdate, 'dd' ) from dual; --日
select to_char(sysdate, 'Q') from dual; --季

 

 

当前时间减去7分钟的时间

select sysdate,sysdate - interval '7' MINUTE from dual;
当前时间减去7小时的时间
select sysdate - interval '7' hour from dual;
当前时间减去7天的时间
select sysdate - interval '7' day from dual;
当前时间减去7月的时间
select sysdate,sysdate - interval '7' month from dual;
当前时间减去7年的时间
select sysdate,sysdate - interval '7' year from dual;
时间间隔乘以一个数字
 select sysdate,sysdate - 8*interval '7' hour from dual;

 

//获取当年的一月一号
to_date(concat((select to_char(sysdate,'yyyy') from dual), '-01-01 00:00:00'),'yyyy-MM-dd HH24:mi:ss') //date格式


//获取这个月的一月一号

//   我的理解: ADD_MONTHS(SYSDATE, -1)   当前时间所在月份的前一个月  

//                      LAST_DAY(ADD_MONTHS(SYSDATE, -1)) + 1   当前时间所在月份的前一个月的最大一天 加1(即当前月的第一天)
SELECT LAST_DAY(ADD_MONTHS(SYSDATE, -1)) + 1 FROM DUAL;   //date格式

SELECT TO_CHAR(LAST_DAY(ADD_MONTHS(SYSDATE, -1)) + 1,'yyyy-mm-dd HH24:mi:ss') FROM DUAL; //char格式


    

posted @ 2020-01-03 14:29  青岑  阅读(8382)  评论(0编辑  收藏  举报