java日期转换为oracle日期

本文讨论了如何在Java中将日期转换为Oracle可识别的日期格式,并解决了日期字符串格式化的问题。通过使用SimpleDateFormat和to_date函数,实现了从Java日期到Oracle日期的高效转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文中日期使用的是java.util.Date。

碰到这个问题时,我先查看了Oracle函数,是否有转换日期的函数,当我看到to_date时我就乐了。可以问题又来了,它 是把字符串转换为Oracle中的日期类型。也就是说我要提供字符串格式的日期,但是让用户提供日期字符串,格式就没法保证了。所以,应该让用户提供Date,我来将Date转换成指定格式的字符串,再使用to_date函数转换成Oracle可识别的日期即可。于是,我又找到了SimpleDateFormat(String pattern)。目前这个思路有点繁琐,日后找到简洁的方式再更新。

Java格式化Date代码如下:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String dateString = sdf.format(date).toString();

Java中将字符串格式化为时间时可用:yyyy-MM-dd hh:mm:ss,但是Oracle中to_date却会报“format code appers twice”,因为Oracle不区分字符串的大小写,“mm”出现了两次,所以正确写法是”yyyy-MM-dd hh:mi:ss”。

update  TABLE_NAME  set DATE =  to_date('" + dateString
				+ "','yyyy-MM-dd hh:mi:ss') where ID =?

另外:java中的小时是24小时制,而”yyyy-MM-dd hh:mi:ss”中的小时是12小时制,解决办法很简单,只需要在hh后加上“24”即可:yyyy-MM-dd hh24:mi:ss

update  TABLE_NAME  set DATE =  to_date('" + dateString
				+ "','yyyy-MM-dd hh24:mi:ss') where ID =?


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值