说到Oracle服务器的时间,我们平时用得最多的就是sysdate 这个系统参数
select sysdate from dual;
SYSDATE
----------------------------
2007-4-28 17:01:37
但如果要精确的秒后面的时间,sysdate无法满足用户的需求,这个时候,我们就要使用systimestamp参数了
select systimestamp from dual;
SYSTIMESTAMP
--------------------------------------------------
20070-4-28 17:01:37.562000 -07:00
一般情况下,将时间格式化后变为字符串,更适合我们日常中的使用,于是就有了
select to_char(sysdate, 'DD/MM/YYYY HH24:MI:SS') from dual;
SYSDATE
----------------------------
28/04/2007 17:08:12
select trunc(sysdate, 'HH') from dual;
SYSDATE
----------------------------
28/04/2007 17:00:00
同样情况下,systimestamp 参数也可以用来格式化,其中FF9的意思代表碎片时间
select to_char(SYSTIMESTAMP,'YYYY-MM-DD HH24:MI:SS.FF9') from dual;
SYSTIMESTAMP
--------------------------------------------------
20070-4-28 17:14:32.078000000
显然,一般的PC很难达到9位精确度,通常3~4为足已。
日期格式参数 |
含义说明 |
D | 一周中的星期几 |
DAY | 天的名字,使用空格填充到9个字符 |
DD | 月中的第几天 |
DDD | 年中的第几天 |
DY | 天的简写名 |
IW | ISO标准的年中的第几周 |
IYYY | ISO标准的四位年份 |
YYYY | 四位年份 |
YYY,YY,Y | 年份的最后三位,两位,一位 |
HH | 小时,按12小时计 |
HH24 | 小时,按24小时计 |
MI | 分 |
SS | 秒 |
MM | 月 |
Mon | 月份的简写 |
Month | 月份的全名 |
W | 该月的第几个星期 |
WW | 年中的第几个星期 |