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

jacobson 2003-08-30 02:38:59
比如我想把time(TimeStamp类型字段)为2003年8月30日那天的所有记录项都取出来,该怎么做?数据库是DB2。
table{
String missId;
time Timestamp;
;
;
;
}
...全文
169 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
实际使用的时候注意语法
微信 支付这 官方文档 很乱 写的 也不是很清楚,测试时 一定要与安卓 或 苹果端 一起测试。 否则 根本找不到问题。 废话 不过说 先 说说 几大坑的地方。我也是 借鉴 别人的 博客 才测试成功调起支付。文章后 直接上代码 代码 绝对能调起 微信 测试过的! 第一步,生成prepayid,这一步,只要你的appid,mch_id,key没写错,那么99%以上都能获取到prepayid,如果失败,那肯定是几个ID和key有问题,仔细检查,包括编码等,仔细仔细仔细检查。 问题来了,第二步,对获取到的prepayid进行二次签名,官方文档的坑来了,官方并没有详细说明这一步骤,一切的一切只能靠自己摸索,爬坑。 首先第一坑:参数顺序,我这里用了SortedMap,自动对参数进行asc编码顺序,一劳永逸,当然,也可以用其他map,但一定要注意参数顺序,必须是asc编码顺序。 第二坑:参数package的Sign=WXPay中=的编码问题,转码即可,小坑。 第三坑:苹果系统的timestamp位数,统一成10位即可,小坑。 第四坑:次级大坑,注意,官方文档说到的参与二次签名的参数,prepayId,appId,timeStamp等,如果你用他们的驼峰进行大写,那么你就完了。一定要小写,小写,小写。 第五坑:最大坑,一样,官方文档并没有对于二次签名有过多赘述,如果你上面几个坑完美出坑,那么,你获取到的签名sign跟官方验证的sign绝对是一样的,然而,将这些玩意丢回给APP,APP调起支付,大大的几个字出现了,验证签名失败!WTF!不要,我已折腾了好几天,终于发现坑在哪里,那就是noncestr随机字符串,参与二次签名的随机字符串不能再次生成,注意,不能再次生成,一定要用第一步中获取prepayid时的那串字符串,一定要用第一步中获取prepayid时的那串字符串,一定要用第一步中获取prepayid时的那串字符串。 第六坑:经历了上述5坑,相信你已经有想干死人的冲动,那么你以为这就结束了吗,还有最后一坑,那就是APP签名已经包名,一定要与开放平台中的一致,然而,即使一致了你以为又结束了吗,NO,如果你更改过开放平台中的签名,并且,在更改前调用过APP微信支付,那么一定一定一定一定记得清除微信缓存。 至此,所有坑都成功出坑,终于出现了支付页面,举国欢腾,微信去年买了个表。最后附上MD5签名类

67,512

社区成员

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

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