Posted on 2008-07-24 20:41
sailor 閱讀(308)
評論(0) 編輯 收藏 所屬分類:
oracle
oracle中日期和時間的操作
來源:http://sail2000.itpub.net/post/558/7243
本人一直oracle 日期操作使用很模糊,現總結如下:
1,date 類型
date為oracle中的一個字段類型,日期類型。該字段類型不僅指日期還表示具體的時間。如2001年11月4日 20點43分
2、轉換函數
與date操作關系最大的就是兩個轉換函數:to_date(),to_char()
to_date() 作用將字符類型按一定格式轉化為日期類型:
具體用法:to_date('2004-11-27','yyyy-mm-dd'),前者為字符串,后者為轉換日期格式,注意,前后兩者要以一對應。
如;to_date('2004-11-27 13:34:43', 'yyyy-mm-dd hh24:mi:ss') 將得到具體的時間
多種日期格式:
YYYY:四位表示的年份
YYY,YY,Y:年份的最后三位、兩位或一位,缺省為當前世紀
MM:01~12的月份編號
MONTH:九個字符表示的月份,右邊用空格填補
MON:三位字符的月份縮寫
WW:一年中的星期
D:星期中的第幾天
DD:月份中的第幾天
DDD:所中的第幾天
DAY:九個字符表示的天的全稱,右邊用空格補齊
HH,HH12:一天中的第幾個小時,12進制表示法
HH24:一天中的第幾個小時,取值為00~23
MI:一小時中的分鐘
SS:一分鐘中的秒
SSSS:從午夜開始過去的秒數
to_char():將日期轉按一定格式換成字符類型
SQL> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') time from dual;
TIME
-------------------
2004-10-08 15:22:58
即把當前時間按yyyy-mm-dd hh24:mi:ss格式轉換成字符類型
sysdate也是個特殊類型函數,該函數返回當前系統時間,在程序中應用比較頻繁。
3、設置系統默認時間格式
在實際應用中,利用to_char()函數轉換可能是很繁瑣的事情。可以在系統中設置
時間默認格式
會話級: alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
實例級;alter system set nls_date_format='yyyy-mm-dd hh24:mi:ss' scope=spfile';
SQL> select sysdate from dual;
SYSDATE
-------------------
2004-10-08 15:35:33
可以看到具體時間格式已經更改.