如何通过SQL语句生成long型的毫秒数

在java中我们通过Date类或者System类可以得到long型的毫秒数,比如:2009-03-13 09:40:45 转换成毫秒数后是 1236937245000,其实直接使用SQL也可以生成这样的毫秒数,这样可以给java代码省去一小部分的处理时间,好了,废话少说,直接给出这个 SQL语句吧:
select (sysdate - to_date('1970-01-01','yyyy-mm-dd')) * 86400000 current_milli from dual;
什么意思?看不懂吗?我来解释解释:
sysdate: 当前时间的date类型
to_date('1970-01-01','yyyy-mm-dd'): 把1970年1月1日转换成date类型
86400000: 一天就是86400000毫秒
所以(sysdate - to_date('1970-01-01','yyyy-mm-dd')) * 86400000这个表达式含义就是:
1.计算现在距离1970年1月1日相隔了多少天;
2.再乘以一天的毫秒基数,就得到了想要的毫秒数。

你可能感兴趣的:(学习相关)