Timestamp使用上的问题,急啊~!

jacobson 2003-08-30 02:38:59
比如我想把time(TimeStamp类型字段)为2003年8月30日那天的所有记录项都取出来,该怎么做?数据库是DB2。
table{
String missId;
time Timestamp;
;
;
;
}
...全文
172 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
netcobol 2003-09-03
  • 打赏
  • 举报
回复
我给你解决了
SELECT * FROM TABLE WHERE time > '2003-08-30-00.00.00' and time < '2003-08-31- 00.00.00'
在db2中通过了测试
walshli 2003-09-03
  • 打赏
  • 举报
回复
写错了

SELECT * FROM TABLE WHERE to_char(time,'yyyy-mm-dd')='2003-8-30'
walshli 2003-09-03
  • 打赏
  • 举报
回复
SELECT * FROM TABLE WHERE to_date(time,'yyyy-mm-dd')='2003-8-30'
netcobol 2003-09-02
  • 打赏
  • 举报
回复
忘了connect to databaseName
netcobol 2003-09-02
  • 打赏
  • 举报
回复
你先进入clp状态,
db2start
db2
select time from table where id=1;
看看打出来的样子
1。如果时2003-08-30 **:**:**
时,才使用
SELECT * FROM TABLE WHERE time > 2003-08-30 00:00:00 and time < 2003-08-31 00:00:00
2。你也可以使用
pstmt=conn.PrepareStaments("SELECT * FROM TABLE WHERE time > ? and time < ?");
pstmt.setTimestamp(你的时间1);
pstmt.setTimestamp(你的时间2);
jkit 2003-08-30
  • 打赏
  • 举报
回复
关于DB2我不熟悉,不知道它有什么函数可调用,只能提供解决的思想。
time 和2003-08-30 00:00:00 应该是不能直接比较的,必须把2003-08-30 00:00:00 转化成时间之后再做比较。
或者还有种办法是反过来,把time转化成字符串,然后取前10位,再和“2003-08-30”比较。 SELECT * FROM TABLE where substring(tostring(time), 0, 10) = '2003-08-30'
其中的tostring和substring需要用DB2相应的函数代替
jacobson 2003-08-30
  • 打赏
  • 举报
回复
是这样吗? SELECT * FROM TABLE WHERE time > 2003-08-30 00:00:00 and time < 2003-08-31 00:00:00
dytsoft 2003-08-30
  • 打赏
  • 举报
回复
time =2003-08-31
jkit 2003-08-30
  • 打赏
  • 举报
回复
使用条件:
time > 2003-08-30 00:00:00 and time < 2003-08-31 00:00:00
实际使用的时候注意语法

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧