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

解决方案 »

  1.   

    参考这篇文章,弄清楚Oracle数据类型与Java数据类型之间的对应关系。
    http://hailong4688199.iteye.com/blog/607051
      

  2.   

    通过UPDATE_DATE 来更新数据?
      

  3.   

    通过日期格式字符串
    比如将当前日期转换为24小时制的带时分秒日期格式,使用下面语句
    select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
      

  4.   

    我找到原因了,因为我在JAVA代码中用到是java.sql.Date,这个类型不保存时分秒信息的。我比较菜啊,1楼的文章看得不是很懂,不过很感谢啦,我用的是3楼的方法,直接转成字符串再比较,这下没什么问题了。感谢各位的回答,结贴散分