oracle时间处理

一、当前时间

  在sql中直接使用sysdate函数,表示当前时间。

  那么,利用当前时间,我们可以获取到当前时间前后指定的时间信息。

  1.1  加减法

select sysdate-1 from dual;--2015-05-20 14:54:10
select sysdate+1 from dual;--2015-05-22 14:53:40

  1.2  trunc(‘xx‘)函数

select trunc(sysdate) from dual;      --2015-05-21 00:00:00
select trunc(sysdate)-1 from dual;     --2015-05-20 00:00:00
select trunc(sysdate,yyyy) from dual;--2015-01-01 00:00:00
select trunc(sysdate,MM) from dual;  --2015-05-01 00:00:00
select trunc(sysdate,dd) from dual;  --2015-05-21 00:00:00
select trunc(sysdate,hh) from dual;  --2015-05-21 14:00:00
select trunc(sysdate,mi) from dual;  --2015-05-21 14:59:00

  trunc()函数本身就是截取函数,用在日期上,可以理解为按照指定的最小单位,获取其下一级单位的最小时间。

  trunc(sysdate);默认截取的是“小时”,即:当天最小的小时值;

  trunc(sysdate)-1;可以用来做加减;

  1.3  to_char(‘xx‘)函数 

  取前一天的时间:

select to_char(sysdate-1,yyyy-MM-dd) from dual;--2015-05-20

  其他:

当前时间:2015-05-21 15:19
select to_char(sysdate-1,yyyy-MM-dd) from dual;--2015-05-20
select to_char(sysdate,yyyy) from dual;--2015
select to_char(sysdate,yyy) from dual;--015
select to_char(sysdate,yy) from dual;--15
select to_char(sysdate,y) from dual;--5
select to_char(sysdate,MM) from dual;--05
select to_char(sysdate,M) from dual;--无法识别
select to_char(sysdate,dd) from dual;--21
select to_char(sysdate,d) from dual;--一周中的第几天,周日是第一天
select to_char(sysdate,hh24) from dual;--15
select to_char(sysdate,h24) from dual;--无法识别
select to_char(sysdate,mi) from dual;--19min
select to_char(sysdate,ss) from dual;--22s
select to_char(sysdate,s) from dual;--无法识别

更多使用参照:to_char详细使用

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。