不支援 :2013/4/21 24:00:00 格式
2013/4/21 0:00:01 是屬於4月22日(有點鬱悶)
1.日期到字元:
select sysdate,to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual
2.字元到日期:
select to_date('2013-03-13 21:15:37','yyyy-mm-dd hh24:mi:ss') from dual
3.--查詢日期大於或小於某段時間,兩個方案,一是兩邊都轉換成時間類型,二是都轉換成varchar類型
select SYSDATE from dual where to_char(sysdate,'YYYYMMDD') > '20050101';
select SYSDATE from dual where sysdate > to_date('20050101','YYYYMMDD');
3.add_months
select to_char(add_months(sysdate, -1), 'yyyymm') from dual;
現在sysdate是11月,如果需要取上一個月的資料,並且每天都要進行此操作,那就每天都需要改時間,用add_months就解決這個問題了
add_months(time,months)函數可以得到某一時間之前或之後n個月的時間
- 如 select add_months(sysdate,-6) from dual;
該查詢的結果是目前時間半年前的時間
2.select add_months(sysdate,6) from dual;
該查詢的結果是目前時間半年後的時間
4.select TRUNC(SYSDATE) from dual ;--2012/11/19
--查詢在某段日期之間的資料
select * from all_tables a
WHERE A.LAST_ANALYZED IS NOT NULL
and a.LAST_ANALYZED between to_date('2013-03-01','yyyy-mm-dd') and to_date('2013-04-01','yyyy-mm-dd')
order by a.LAST_ANALYZED desc;
http://blog.csdn.net/zhangyun123/article/details/2805698
http://oracle.chinaitlab.com/exploiture/823866.html