Orcale to_date之后仍然报“文字与格式字符串不匹配”

select * from table where and begindate>=to_date('2013-03-12 00:00:00', 'yyyy-mm-dd hh24:mi:ss'); 


一般情况下to_date之后就不会报错!


但是项目中一般是传值进来的!


if(guzhang.getBegindate() != null){
			sql += " and n.begindate >=to_date('" +df.format(guzhang.getBegindate())+"','yyyy-MM-dd')";
		}

然后调试:guzhang.getBegindate() = ‘2013-03-21 14:51:49.0


仔细发现又多了一个0,那么再一次格式化掉变量:


SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");

if(guzhang.getBegindate() != null){
			sql += " and n.begindate >=to_date('" +df.format(guzhang.getBegindate())+"','yyyy-MM-dd')";
		}


你可能感兴趣的:(ora-01861,文字与格式字符串不匹配)