plsql日期到毫秒数
在PLSQL中是否可以将日期转换为毫秒数 我试过了plsql日期到毫秒数,plsql,Plsql,在PLSQL中是否可以将日期转换为毫秒数 我试过了 select to_number(TO_CHAR(sysdate, 'yyyymmddhh24miss')) * (24 * 60 * 60 * 1000) from dual; 但我得到1743604888943174400000 这与java GetTime方法不同 正如swmcdonnell所说,你的问题有点复杂: 但是你有一个理解上的问题。我确实将您的查询分为三列 SELECT TO_CHAR (SYSDATE, 'yyyymmdd
select to_number(TO_CHAR(sysdate, 'yyyymmddhh24miss')) * (24 * 60 * 60 * 1000) from dual;
但我得到1743604888943174400000
这与java GetTime方法不同
正如swmcdonnell所说,你的问题有点复杂: 但是你有一个理解上的问题。我确实将您的查询分为三列
SELECT TO_CHAR (SYSDATE, 'yyyymmddhh24miss'), -- Here we convert our sysdate into a 'string'
TO_NUMBER (TO_CHAR (SYSDATE, 'yyyymmddhh24miss')), -- this will output the resulting string as number - it will look the same as the 1st column
TO_NUMBER (TO_CHAR (SYSDATE, 'yyyymmddhh24miss')) * (24 * 60 * 60 * 1000) -- here you calculated 20180613150101 * 24 * 60... i think that's not what you want to do
FROM DUAL;
这没有道理。
如果需要“总毫秒数”,则必须:
使用当前时间戳而不是sysdate
将yyyy年乘以365天*24小时*60分钟*60秒*1000毫秒
将一年中的日期DDD乘以24小时*60分钟*60秒*1000毫秒
乘以小时*60分钟*60秒*1000毫秒
乘以分钟*60秒*1000毫秒
将第二个乘以1000毫秒
添加ms
这将导致如下结果:
SELECT to_number(TO_CHAR (CURRENT_TIMESTAMP, 'yyyy')) * 365 * 24 * 60 * 60 * 1000
+ to_number(TO_CHAR (CURRENT_TIMESTAMP, 'DDD')) * 24 * 60 * 60 * 1000
+ to_number(TO_CHAR (CURRENT_TIMESTAMP, 'HH24')) * 60 * 60 * 1000
+ to_number(TO_CHAR (CURRENT_TIMESTAMP, 'mi')) * 60 * 1000
+ to_number(TO_CHAR (CURRENT_TIMESTAMP, 'ss')) * 1000
+ to_number(TO_CHAR (CURRENT_TIMESTAMP, 'FF'))
FROM DUAL;
。。但是你打算用它做什么呢?我不懂Java,但时间戳不应该显示为间隔。这类似于oracle中的interval或C中的timespan。从dual中选择TO_NUMBERTO_CHARSYSDATE,'yyyyymmddhmiss'| _numberSUBSTRTO_CHAR CURRENT_TIMESTAMP,'FF',0,2;
答案就在这里:可能的重复