|
原文:http://blog.blueshop.com.tw/pili9141/articles/52486.aspx
http://xiaona.iyunv.com/blog/50717
作者整理得很工整啊!建议看原文。
可惜没写To_date(),不过有To_char()就可以看见To_date()了。
--------------------------------------------------
SYSDATE
--◎ 可得到目前系統的時間
select sysdate from dual;
sysdate
----------
20-SEP-07
常用之日期格式
日期格式 | 說明 | YYYY/MM/DD | 年/月/日 | YYYY | 年(4位) | YYY | 年(3位) | YY | 年(2位) | MM | 月份 | DD | 日期 | D | 星期 PS: 星期日=1 星期一=2 类推。 | DDD | 一年之第幾天 | WW | 一年之第幾週 | W | 一月之第幾週 | YYYY/MM/DD HH24:MI:SS | 年/月/日 時(24小時制):分:秒 | YYYY/MM/DD HH:MI:SS | 年/月/日 時(非24小時制):分:秒 | J | Julian day,Bc 4712/01/01 為1 | RR/MM/DD | 公元2000問題 | | 00-49 = 下世紀;50-99 = 本世紀 |
ex.
select to_char(sysdate,'YYYY/MM/DD') FROM DUAL; | 2007/09/20 | select to_char(sysdate,'YYYY') FROM DUAL; | 2007 | select to_char(sysdate,'YYY') FROM DUAL; | 007 | select to_char(sysdate,'YY') FROM DUAL; | 07 | select to_char(sysdate,'MM') FROM DUAL; | 09 | select to_char(sysdate,'DD') FROM DUAL; | 20 | select to_char(sysdate,'D') FROM DUAL; | 5 | select to_char(sysdate,'DDD') FROM DUAL; | 263 | select to_char(sysdate,'WW') FROM DUAL; | 38 | select to_char(sysdate,'W') FROM DUAL; | 3 | select to_char(sysdate,'YYYY/MM/DD HH24:MI:SS') FROM DUAL; | 2007/09/20 15:24:13 | select to_char(sysdate,'YYYY/MM/DD HH:MI:SS') FROM DUAL; | 2007/09/20 03:25:23 | select to_char(sysdate,'J') FROM DUAL; | 2454364 | select to_char(sysdate,'RR/MM/DD') FROM DUAL; | 07/09/20 |
如今天是2009年12月22日
取前一天的方法:
select to_char(sysdate-1,'yyyymmdd') from dual
结果:
1 20091221
取前一小时的方法:
select to_char(sysdate - 1/24, 'yyyy/mm/dd hh24:mi:ss ') from dual;
取上一月的方法:
select to_char(add_months(sysdate,-1),'yyyymm') from dual
结果:
1 200911
注:可以将结果插入到变量里,在存储过程或函数中方便调用。 |
|
|