oracle查询月份有关问题
oracle查询月份问题有表t字段regdate char类型值举例:2012-07-21如果查询7月份的所有记录SQL codeselect *
oracle查询月份问题
有表t
字段regdate char类型
值举例:2012-07-21
如果查询7月份的所有记录
SQL codeselect * 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 codeselect * from t where to_number(to_char(regedta,'MM'))=7或者select * from t where to_number(to_date(regedta,'MM'))=7