Oracle数据库,JDBC访问,字段类型是DATE,PreparedStatement里用setTimestamp还是setDate? 如题。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可是setDate有这样的问题,就是它本身是不包含时间信息的,即时间永远是00:00:00.可Oracle的DATE字段时可以存储时间的啊,可以to_date('...','yyyymmdd hh24:mi:ss')的。 java.sql.Timestamp继承java.util.Date类并加以扩充,如果在sql里使用setDate()设置的时间只包括年月日,要完整时间需要调用setTimeStamp() 如果想要得到时间和日期信息,用setTimeStamp()。因为Timestamp封装有关签署时间戳的信息,它包括了时间戳的日期和时间 谢谢大家,但是又有一个问题,就是setTimestamp的话, 那这个DATE类型的字段上的索引又用不上了。。JDBC的setTimestamp是不是和to_timestamp的效果一样的?大家可以看下,DATE字段如果用to_timestamp不会使用索引, 而用to_date是可以利用索引的。 Oracle 9i开始有timestamp该用Date还是Timestamp看日期精度要求情况而定to_timestamp是SQL的类型强转函数,能不用则尽量别用。 如果是ps.setTimestamp的话是不是在Oracle那边,是被识别为一个Timestamp对象呢?也就是to_timestamp的返回对象类型一致? 如果你的日期类型是java.sql.Date的话,就setDate() 可是java.sql.Date的类型不包含时间信息的。 java.sql.Date 转换成Util的再拿时间信息 java.util.Date不能传给PreparedStatement的。 我考虑下,java.sql.Date无法满足包含时间信息的要求,java.sql.Timestamp在Oracle被识别为timestamp类型,跟DATE类型不符,不能使用索引。所以综合来看,使用to_date函数传入字符串类型的时间串最好。 大家还有其它高见否? 其实当初要是把表里的字段设置成Varchar2()的就好了~~还有请教一下那个不能使用索引是如何看出来的?? Oracle数据库,JDBC访问,字段类型是DATE,PreparedStatement里用setTimestamp还是setDate? oracle javadate java.sql.datetimestamp java.sql.timestamp如果oracle是date,而java中用sql.date的话,会丢失时分秒,所以可以另想办法比如:java中是日期字符串,后台用to_date(datestr,'yyyy-mm-dd hh24:mi:ss')来转换当然oracle中的date类型在获取的时候也会自动去掉时分秒,所以可以用to_char函数来处理带时分秒的,最好的方法当然是前后都用timestamp 如果有时分秒,就用setTimestamp 同时你的属性也最好用 Timestamp 类。如果只有年月日,用setDate不过许多人更愿意记录一个long, 呵呵,你能猜出来这个long是啥吗? 呵呵,Date.getTime(),since 1970.1.1 ... 参数 tcp_DEFAULT_IP 的修饰符不合法;只允许使用终态 【请教】关于分析邮件主题及内容的应用 关于java画直线 有一个小问题,大家帮忙看一下,关于数组 怎样用JMagick合并两幅图片??? 为什么?为什么呀? Exception e; e; 后面一个e;是做什末用的? 关于字符串的比较问题.. 一些.JAVA文件,没有包,想用JBUILDER7做成一个PROJECT里,然后生成一个JAR到指定的目录 各位兄弟快来帮忙吧,我要急死了(applet访问服务器数据库的问题) 简单问题:spring2.5怎么连mysql 怎么让button按钮上的文字完整显示出来
setDate()设置的时间只包括年月日,要完整时间需要调用setTimeStamp()
JDBC的setTimestamp是不是和to_timestamp的效果一样的?
大家可以看下,DATE字段如果用to_timestamp不会使用索引, 而用to_date是可以利用索引的。
该用Date还是Timestamp看日期精度要求情况而定to_timestamp是SQL的类型强转函数,能不用则尽量别用。
还有请教一下那个不能使用索引是如何看出来的??
date java.sql.date
timestamp java.sql.timestamp如果oracle是date,而java中用sql.date的话,会丢失时分秒,所以可以另想办法比如:java中是日期字符串,后台用to_date(datestr,'yyyy-mm-dd hh24:mi:ss')来转换当然oracle中的date类型在获取的时候也会自动去掉时分秒,所以可以用to_char函数来处理带时分秒的,最好的方法当然是前后都用timestamp
呵呵,Date.getTime(),since 1970.1.1 ...