select * FROM tablename where to_char(COLUMN,'MM') = 月份
select * from usertable where to_char(datecolumn,'mm') = '所需月份如(05)' 其他要求年,日都类似
SQL: select trunc(sysdate,'mm') from dualRESULT: 2005-4
尽量不要对列进行函数操作,尤其是索引列,这样会非常慢 skyboy0720(500万认识我么......) 说的“但我觉得最好用BETWEEN AND 语句来实现,效率高些”才是正解 例如: select * from tab where datetimecol>=todate('200501','yyyymm') and datetimecol<add_months(todate('200501','yyyymm'),1)用'200501'作为需要查询的月份参数
tangtangno1(糖糖) 说的不错。除非单独建立函数索引,那样会带来额外的开销。
select * from a where to_char(submittime,'yyyy-mm')='2005-01'
其他要求年,日都类似
skyboy0720(500万认识我么......) 说的“但我觉得最好用BETWEEN AND 语句来实现,效率高些”才是正解
例如:
select * from tab
where datetimecol>=todate('200501','yyyymm')
and datetimecol<add_months(todate('200501','yyyymm'),1)用'200501'作为需要查询的月份参数