日期:2014-05-17  浏览次数:21036 次

date类型的数据检索出来以后,如何保留时分秒
现在我要做的东西是这样的:
数据库里有一个date类型的字段UPDATE_DATE,在更新或删除某条数据之前,先把这个date字段检索出来,然后在执行更新或删除操作的时候,语句以这样的格式来写:
UPDATE TABLE SET NAME = '1' WHERE UPDATE_DATE = ?;
DELETE FROM TABLE WHERE UPDATE_DATE = ?;
这里的问号传的值是之前检索出来的UPDATE_DATE的值,如果在这过程中有其他人更新或删除了这条数据,则两者不相等,无法进行操作(有点类似于SVN版本冲突)。
现在的问题是,我在java代码里面取到的UPDATE_DATE的值不包含时分秒,而数据库里面是有的,所以在执行操作时,语句永远是无法成立的,该如何做呢?

------解决方案--------------------
参考这篇文章,弄清楚Oracle数据类型与Java数据类型之间的对应关系。
http://hailong4688199.iteye.com/blog/607051
------解决方案--------------------
通过日期格式字符串
比如将当前日期转换为24小时制的带时分秒日期格式,使用下面语句
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;