社区
Java SE
帖子详情
Oracle数据库,JDBC访问,字段类型是DATE,PreparedStatement里用setTimestamp还是setDate?
yanransoft
2009-05-04 07:50:53
如题。
...全文
1680
18
打赏
收藏
Oracle数据库,JDBC访问,字段类型是DATE,PreparedStatement里用setTimestamp还是setDate?
如题。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yanransoft
2009-05-07
打赏
举报
回复
[Quote=引用 16 楼 java2000_net 的回复:]
如果有时分秒,就用setTimestamp 同时你的属性也最好用 Timestamp 类。
如果只有年月日,用setDate
不过许多人更愿意记录一个long, 呵呵,你能猜出来这个long是啥吗?
[/Quote]
呵呵,Date.getTime(),since 1970.1.1 ...
yanransoft
2009-05-07
打赏
举报
回复
[Quote=引用 14 楼 imasmallbird 的回复:]
引用 13 楼 yanransoft 的回复:
我考虑下,java.sql.Date无法满足包含时间信息的要求,java.sql.Timestamp在Oracle被识别为timestamp类型,跟DATE类型不符,不能使用索引。所以综合来看,使用to_date函数传入字符串类型的时间串最好。 大家还有其它高见否?
其实当初要是把表里的字段设置成Varchar2()的就好了~~
还有请教一下那个不能使用索引是如何看出来的??
[/Quote]
直观看执行速度。
yanransoft
2009-05-06
打赏
举报
回复
[Quote=引用 11 楼 x114944880 的回复:]
java.sql.Date 转换成Util的再拿时间信息
[/Quote]
java.util.Date不能传给PreparedStatement的。
x114944880
2009-05-06
打赏
举报
回复
java.sql.Date 转换成Util的再拿时间信息
yanransoft
2009-05-06
打赏
举报
回复
[Quote=引用 9 楼 thc1987 的回复:]
如果你的日期类型是java.sql.Date的话,就setDate()
[/Quote]
可是java.sql.Date的类型不包含时间信息的。
老紫竹
2009-05-06
打赏
举报
回复
如果有时分秒,就用setTimestamp 同时你的属性也最好用 Timestamp 类。
如果只有年月日,用setDate
不过许多人更愿意记录一个long, 呵呵,你能猜出来这个long是啥吗?
Landor2004
2009-05-06
打赏
举报
回复
Oracle数据库,JDBC访问,字段类型是DATE,PreparedStatement里用setTimestamp还是setDate?
oracle java
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
imasmallbird
2009-05-06
打赏
举报
回复
[Quote=引用 13 楼 yanransoft 的回复:]
我考虑下,java.sql.Date无法满足包含时间信息的要求,java.sql.Timestamp在Oracle被识别为timestamp类型,跟DATE类型不符,
不能使用索引
。所以综合来看,使用to_date函数传入字符串类型的时间串最好。 大家还有其它高见否?
[/Quote]
其实当初要是把表里的字段设置成Varchar2()的就好了~~
还有请教一下那个不能使用索引是如何看出来的??
yanransoft
2009-05-06
打赏
举报
回复
我考虑下,java.sql.Date无法满足包含时间信息的要求,java.sql.Timestamp在Oracle被识别为timestamp类型,跟DATE类型不符,不能使用索引。所以综合来看,使用to_date函数传入字符串类型的时间串最好。 大家还有其它高见否?
zxcv_168
2009-05-05
打赏
举报
回复
setTimeStamp()。
emon123
2009-05-05
打赏
举报
回复
如果想要得到时间和日期信息,用setTimeStamp()。因为Timestamp封装有关签署时间戳的信息,它包括了时间戳的日期和时间
imasmallbird
2009-05-05
打赏
举报
回复
java.sql.Timestamp继承java.util.Date类并加以扩充,如果在sql里使用
setDate()设置的时间只包括年月日,要完整时间需要调用setTimeStamp()
猿敲月下码
2009-05-05
打赏
举报
回复
如果你的日期类型是java.sql.Date的话,就setDate()
yanransoft
2009-05-05
打赏
举报
回复
如果是ps.setTimestamp的话是不是在Oracle那边,是被识别为一个Timestamp对象呢?也就是to_timestamp的返回对象类型一致?
xdop
2009-05-05
打赏
举报
回复
Oracle 9i开始有timestamp
该用Date还是Timestamp看日期精度要求情况而定
to_timestamp是SQL的类型强转函数,能不用则尽量别用。
yanransoft
2009-05-05
打赏
举报
回复
谢谢大家,但是又有一个问题,就是setTimestamp的话, 那这个DATE类型的字段上的索引又用不上了。。
JDBC的setTimestamp是不是和to_timestamp的效果一样的?
大家可以看下,DATE字段如果用to_timestamp不会使用索引, 而用to_date是可以利用索引的。
yanransoft
2009-05-04
打赏
举报
回复
可是setDate有这样的问题,就是它本身是不包含时间信息的,即时间永远是00:00:00.可Oracle的DATE字段时可以存储时间的啊,可以to_date('...','yyyymmdd hh24:mi:ss')的。
daihua_1113
2009-05-04
打赏
举报
回复
setDate
jdbc
oracle
date
相减,
Oracle
JDBC
驱动使用
set
Date
()、
set
Timestamp
()导致全表扫描
今天有一个项目组报说,一个业务流程在
Oracle
上无法执行完成,而在SQL SERVER却非常的正常。环境:
ORACLE
RAC 10.2.0.4.0 FOR AIX 64bit于是开始查询是什么原因,该业务流程操作的表是一个非常大的表,亿级的数据量。通过对业务流程SQL执行的监控,发现在执行对这个表做小部分数据删除的SQL时候卡住不动了。查看了SQL的执行计划发现是全表扫描,没有建索引,于是把索...
Oracle
JDBC
驱动使用
set
Date
()、
set
Timestamp
()导致全表扫描
今天有一个项目组报说,一个业务流程在
Oracle
上无法执行完成,而在SQL SERVER却非常的正常。环境:
ORACLE
RAC 10.2.0.4.0 FOR AIX ...
用Pre
pa
red
Statement
在
Oracle
中插入日期
1、 如果要插入的日期是当前时间,最简单的办法就是利用
oracle
自带的日期函数:sys
date
。 建表时,将
字段
默认值声明为sys
date
,如下: create table examples ( names varchar(10 ), age number(3 ), Bir
Date
date
default sys
date
) 执行in...
MiniSpring框架学习笔记-
JDBC
访问
框架:如何抽取
JDBC
模板并隔离
数据库
?
MiniSpring
JDBC
框架设计与
数据库
解耦 本文介绍了MiniSpring框架中
JDBC
访问
层的设计思路,主要包含两部分内容: 原生
JDBC
分析:通过示例代码展示了
JDBC
访问
数据库
的完整流程,包括驱动加载、连接获取、SQL执行和资源释放,并解释了
JDBC
如何通过标准API和厂商驱动实现与不同
数据库
的解耦。 模板方法模式应用:通过抽象固定流程(连接管理、资源释放等)和变化点(SQL、参数绑定、结果映射),设计了
Statement
Callback和Pre
pa
red
Statement
Callback等回
cnc focas 相关API测试最新
cnc focas 相关API测试最新
Java SE
62,622
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章