SELECT * FROM TABLE
WHERE TO_NUMBER(TO_CHAR(COLUMN,'MM'))=你需要的月份

解决方案 »

  1.   

    但我觉得最好用BETWEEN AND 语句来实现,效率高些
      

  2.   

    select * FROM tablename where to_char(COLUMN,'MM') = 月份
      

  3.   

    select * from usertable where to_char(datecolumn,'mm') = '所需月份如(05)'
    其他要求年,日都类似
      

  4.   

    SQL:    select trunc(sysdate,'mm') from dualRESULT: 2005-4
      

  5.   

    尽量不要对列进行函数操作,尤其是索引列,这样会非常慢
    skyboy0720(500万认识我么......) 说的“但我觉得最好用BETWEEN AND 语句来实现,效率高些”才是正解
    例如:
    select * from tab
    where datetimecol>=todate('200501','yyyymm')
    and datetimecol<add_months(todate('200501','yyyymm'),1)用'200501'作为需要查询的月份参数
      

  6.   

    tangtangno1(糖糖) 说的不错。除非单独建立函数索引,那样会带来额外的开销。
      

  7.   

    select * from a where to_char(submittime,'yyyy-mm')='2005-01'