日期:2014-05-17  浏览次数:21131 次

oracel
2012-9-21
2012-10-3
2012-11-2
2012-12-1                  数据类型为varChar.

数据如上,sql语句如下:
SELECT * FROM table where
to_date(CREATE_DATE,'yyyy-MM-dd') between TO_CHAR(ADD_MONTHS(SYSDATE,-5), 'YYYY-MM-') ||'01' and TO_CHAR(LAST_DAY(ADD_MONTHS(SYSDATE,-5)),'YYYY-MM-DD')

因需查询6个月的统计情况,还请大神指点指点.

------解决方案--------------------

SELECT * FROM TABLE
WHERE TO_DATE(CREATE_DATE,'YYYY-MM-DD') 
      BETWEEN TRUNC(ADD_MONTHS(SYSDATE,-5),'MM')  --前5月第一天的00:00:00
      AND TO_DATE(TO_CHAR(LAST_DAY(ADD_MONTHS(SYSDATE,-5)),'YYYYMMDD')
------解决方案--------------------
'235959','YYYYMMDDHH24MISS')  --前5月最后一天的23:59:59
;