读书人

oracle查询月份有关问题

发布时间: 2012-08-15 16:57:17 作者: rapoo

oracle查询月份问题
有表t
字段regdate char类型
值举例:2012-07-21


如果查询7月份的所有记录

SQL code
select * from t where to_char(regedta,'MM')='7'

出错

[解决办法]
这个问题是你没有将regdate 的类型转换成datetime类型,应该改为:
SELECT * FROM T WHERE TO_CHAR(TO_DATE(REGEDTA,'yyyy/MM/dd HH24:mi:ss'),'MM')='7'
[解决办法]
因为转换成24小时制的关系,后面的月份格式是 XXXX/XX/XX(如:2012/07/13),所以上面的应该在月份后面加个0
[解决办法]
SQL code
select * from t where to_number(to_char(regedta,'MM'))=7或者select * from t where to_number(to_date(regedta,'MM'))=7 

读书人网 >oracle

热点推荐