可以先把日期类型通过 TO_CHAR方法转换为字符串,之后在进行月份查询。
专业领域包括成都网站建设、做网站、成都商城网站开发、微信营销、系统平台开发, 与其他网站设计及系统开发公司不同,成都创新互联公司的整合解决方案结合了帮做网络品牌建设经验和互联网整合营销的理念,并将策略和执行紧密结合,为客户提供全网互联网整合方案。
sql:select * from tablename WHERE TO_CHAR( dateTime, 'YYYY-MM') = '2015-06';
解释:以上语句就是查询查2015年06月份的所有数据记录。
select to_char(to_date('2015/05/17 14:15:16','yyyy/mm/dd hh24:mi:ss'),'yyyy/mm/dd'),--年月日 2015/05/17
to_char(to_date('2015/05/17 14:15:16','yyyy/mm/dd hh24:mi:ss'),'yyyy'),--年 2015
to_char(to_date('2015/05/17 14:15:16','yyyy/mm/dd hh24:mi:ss'),'mm'),--月 05
to_char(to_date('2015/05/17 14:15:16','yyyy/mm/dd hh24:mi:ss'),'dd')--日 17
from dual;
把日期换为日期栏位即可
这是递归写法的问题,在8,9i升级新版本过程中经常遇到类似问题.这个在10g,11g以后跑应该都没问题,在9i按以下方法写可以实现:
SELECT TO_CHAR (ADD_MONTHS (TO_DATE ('2011-03', 'yyyy-mm'), ROWNUM - 1),'YYYY-MM') AS yearmonth FROM all_objects
WHERE ROWNUM =(SELECT MONTHS_BETWEEN (TO_DATE ('2012-07', 'yyyy-mm'),TO_DATE ('2011-03', 'yyyy-mm')) FROM DUAL)
获取月(两位):select to_char(sysdate,'mm') from dual
那你就把指定的日期to_date()成date,如下:
select to_char(to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss'),'mm') from dual
假设前台输入月份字符串是p_month: 2012-05
select * from test1 where to_char(col,'yyyy-mm')=p_month
或者
select * from test1 where trunc(col) =to_date(p_month||'01','yyyy-mm-dd)
你好:这个查询方式有很多;
select * from tableName where DATEPART(mm, theDate)
=DATEPART(mm, GETDATE()) and DATEPART(yy, theDate)
= DATEPART(yy, GETDATE());
-----------可以用以下方法查找
select * from tableName t where t.dateTime =to_DATE('yyyy-mm','2014-12')