ORA-01861: 文字与格式字符串不匹配

5 篇文章 0 订阅
1 篇文章 0 订阅

今天遇到个烦人的问题,昨天晚上调试完的方法,今天突然就报“ORA-01861: 文字与格式字符串不匹配”这个错误,找了半个小时才找到问题所在!
先来看这个问题,“ORA-01861: 文字与格式字符串不匹配”,很显然,就是操作数据库插入时数据格式不对,而大多都是时间数据的格式出问题,那我们挨个比对数据就OK了,也很容易。
然而就是这个时间问题,很容易出错。我们往页面返回时间的时候,想要得到的是"2017-05-29 12:42:21"这样的格式,所以要对时间进行处理,刚开始我处理的方法是在getter方法中直接转换成字符串的,但是这样就会造成一个问题,当代码进行持久化操作时,数据库get到的字段与数据库本身字段的格式就不匹配了。
正常的getter方法是这样的:

public Date getStartDate() {
		return startDate;
	}

我为了给页面返回"2017-05-29 12:42:21"这样的格式,是这么写的

public String getStartDate() {
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		if (null != this.startDate) {
			return sdf.format(this.startDate);
		} else {
			return "";
		}
	}

这样就造成了数据库得到的字段与本身格式不匹配,才会报错“ORA-01861: 文字与格式字符串不匹配”。
记录下来,以备后用。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值