oracle上的linux如何获取当前时间毫秒数(即从1970-01-01 00:00:00)

文章标签: oracle
2015-1-16 17:45:11     16 人阅读    

--oracle上的linux如何获取当前时间毫秒数,因为sysdate系统时间(中国)是8时区,因此再减去8小时,才是从1970-01-01 00:00:00到现在所走的毫秒数
select (sysdate-to_date('1970-01-01','yyyy-mm-dd')-8/24)*24*60*60*1000  millisecond from dual
--java中的System.currentTimeMillis()获取的是当前时间与协调世界时 1970-01-01 00:00:00之间的时间差(以毫秒为单位测量),按照零时区
 
因此可以通过sql语句跟据时间差查询或删除过期的数据:
例子:
表tb中含有字段:id   时间戳(通过System.currentTimeMillis()库的
                   value   业务数据字符串
需求:删除表tb中的超过1个小时的数据
实现:
delete tb t where t.id<
(select (sysdate-to_date('1970-01-01','yyyy-mm-dd')-8/24)*24*60*60*1000-1* 60 * 60 * 1000  millisecond from dual)


原文地址:http://www.itmmd.com/201501/506.html
该文章由 萌萌的IT人 整理发布,转载须标明出处。

如何开启tomcat(jvm)的gc日志   上一篇
下一篇  java时区转化相关工具方法

精彩回复
发表评论
姓名:       

《程序员app》专门为程序员量身定做!